jjzjj

php - 如何发布 Guzzle 6 异步数据

我尝试使用Guzzle6(最新版本)以异步方式发布数据$client=newClient();$request=$client->postAsync($url,['json'=>['company_name'=>'updateName'],]);但我没有收到Guzzle的任何请求,比如在终端上发布请求 最佳答案 因为这是一个promise,你需要放then除非你输入$promise->wait()否则promise不会被调用这是一个基于您的问题使用postAsync的简单发布请求:$client=newClient();$promi

PHP:Guzzle 6 + Guzzle 缓存中间件

我有一个页面使用Guzzle6执行一些REST查询。它工作正常,但有时速度太慢,因为它总是进行查询。我发现有guzzle-cache-middleware应该缓存来自远程API的响应。但是我无法让它工作,我的代码如下:useGuzzleHttp\Client;useGuzzleHttp\HandlerStack;useLeague\Flysystem\Adapter\Local;useKevinrob\GuzzleCache\CacheMiddleware;useKevinrob\GuzzleCache\Strategy\PrivateCacheStrategy;useKevinrob

php - 在 Guzzle 中同时模拟响应和使用历史中间件

有什么方法可以在Guzzle中模拟响应和请求吗?我有一个发送一些请求的类,我想测试一下。在Guzzledoc我找到了一种方法如何分别模拟响​​应和请求。但是我怎样才能将它们结合起来呢?因为,如果使用历史堆栈,guzzle会尝试发送真实请求。反之亦然,当我模拟响应处理程序无法测试请求时。classMyClass{publicfunction__construct($guzzleClient){$this->client=$guzzleClient;}publicfunctionregisterUser($name,$lang){$body=['name'=>$name,'lang'=$l

php - Guzzle cookies 处理

我正在构建一个基于Guzzle的客户端应用程序。我被cookie处理困住了。我正在尝试使用Cookieplugin来实现它,但我无法让它工作。我的客户端应用程序是标准的Web应用程序,只要我使用相同的guzzle对象,它看起来就可以正常工作,但跨请求它不会发送正确的cookie。我正在使用FileCookieJar来存储cookie。如何跨多个guzzle对象保存cookie?//firstrequestwithloginworksfine$cookiePlugin=newCookiePlugin(newFileCookieJar('/tmp/cookie-file'));$clien

php - 从 Goutte 访问 Guzzle Response

我正在尝试从Goutte访问GuzzleResponse对象。因为那个对象有我想使用的好方法。例如getEffectiveUrl。据我所知,如果不破解代码就无法做到这一点。或者在不访问响应对象的情况下,有没有办法从goutte获取最后重定向的url? 最佳答案 有点晚了,但是:如果您只对获取上次重定向到的URL感兴趣,您可以简单地做$client=newGoutte\Client();$crawler=$client->request('GET','http://www.example.com');$url=$client->get

php - 如何返回 Guzzle JSON 响应

我正在使用Guzzle发出返回JSON的同步请求。调用工作正常并且响应正常,但是:$client=newClient();$promise=$client->requestAsync($requestType,$this->url.$resource,//endpoint['auth'=>[//credentials$this->username,$this->password],'json'=>$payload,//thepackage'curl'=>[//somecurloptionsCURLOPT_HTTPAUTH=>CURLAUTH_BASIC,CURLOPT_RETURNTR

php - 如何分析 Guzzle 6 请求?

我正在尝试使用Guzzle(v6)分析从PHP客户端向API服务器发出的请求。在Guzzle5.3中有此complete和before事件处理。classGuzzleProfilerimplementsSubscriberInterface{publicfunctiongetEvents(){return['before'=>['onBefore'],'complete'=>['onComplete']];}publicfunctiononBefore(BeforeEvent$event,$name){start_profiling();}publicfunctiononComplet

php - 如何使用 Guzzle 更新 Woocommerce Order API

我可以使用guzzle获取订单详细信息。但我无法更新订单。这是我的代码:usestdClass;useGuzzleHttp\Client;useGuzzleHttp\Psr7\Request;$data=newstdClass();$data->fulfillment=newstdClass();$trackingUrl="123456789";$shopUrl="localhost/Test";$consumerKey="cs_mykey";$consumerSecret="ck_mykey";$orderId="123";$subPath="/wc-api/v2/orders/".

php - 如何让 Guzzle 6 在 Laravel 中出现 503 错误时重试请求

我在Laravel5.2中编写了一些代码来从不可靠的API源检索结果。但是,它需要能够在尝试失败时自动重试请求,因为API调用大约有三分之一的时间会导致503。我正在使用Guzzle来执行此操作,我想我知道将在处理之前拦截503响应的代码放在哪里;但我不确定在那里实际写什么。就重试而言,guzzle文档并未提供太多信息,我遇到的Guzzle6的所有示例仅展示了如何检索结果(我已经可以做到),但没有展示如何获取结果如果需要重复请求。我绝不是要任何人为我做这项工作-但我认为我正在接近我对此的理解极限。如果有人能指出我正确的方向,我将不胜感激:)编辑:我会努力修改的。请考虑以下代码。在其中,

PHP Guzzle : Empty body response

我刚开始尝试使用guzzle,但我在响应正文中得到一个空字符串$client=newClient(['base_uri'=>'http://httpbin.org','timeout'=>2.0,]);$response=$client->request('GET','',['debug'=>true]);var_dump($response->getBody()->getContents());我得到的回应是:*Abouttoconnect()tohttpbin.orgport80(#0)*Trying23.22.14.18...*Connectedtohttpbin.org(23.