jjzjj

php - 使用 Guzzle 6 HTTP 客户端检索整个 XML 响应主体

我想使用Guzzle6从远程API检索xml响应。这是我的代码:$client=newClient(['base_uri'=>'',]);$response=$client->get('',['query'=>['token'=>'',],'headers'=>['Accept'=>'application/xml']]);$body=$response->getBody();Vardumping$body将返回一个GuzzleHttp\Psr7\Stream对象:object(GuzzleHttp\Psr7\Stream)[453]private'stream'=>resource(

caching - 将 Redis 与 Guzzle 的缓存插件一起使用

我有一个使用Redis进行缓存和session存储的Laravel应用程序。使用Guzzle从API获取数据。我正在尝试设置Guzzle客户端以使用它内置的缓存插件,并希望使用Redis作为存储引擎,而不是Doctrine似乎使用的文件系统存储。Guzzle文档说要像这样在代码中设置插件:$cachePlugin=newCachePlugin(array('storage'=>newDefaultCacheStorage(newDoctrineCacheAdapter(newFilesystemCache('/path/to/cache/files')))));由于我仅使用内置的Cac

php - 使用 Guzzle HTTP PHP 客户端限制连接时间

我正在使用Guzzle打开url-s列表并获取header。有些网址响应时间太长,无法打开,我想忽略它们。在Guzzle抛出异常之前我最多需要20多秒,我想更改它并将连接时间限制为2秒。我有这段代码,但它仍然需要更长的时间:format("d.m.YH:i:s");echo$start."\n";$client=newGuzzle\Http\Client();Guzzle\Http\StaticClient::mount();try{$request=$client->get('http://takestoolongexample',[],['connect_timeout'=>2,'

php - 如何使用 Guzzle PHP 获取 SENT 数据的主体?

我在PHP中使用Guzzle(v6.1.1)向服务器发出POST请求。它工作正常。我正在添加一些日志记录功能来记录发送和接收的内容,但我不知道如何获取Guzzle发送到服务器的数据。我可以很好地获得响应,但是如何获得已发送数据?(这将是JSON字符串。)这是我的代码的相关部分:$client=newGuzzleHttp\Client(['base_uri'=>$serviceUrlPayments]);try{$response=$client->request('POST','Charge',['auth'=>[$securenetId,$secureKey],'json'=>["a

php - 使用 guzzle 发送异步请求而不等待响应

我有以下两个功能publicfunctionmyEndpoint(){$this->logger->debug('Started');$this->guzzle->requestAsync('post','http://myurl.com/doNotWait')->wait();$this->logger->debug("Ishouldn'twait");}publicfunctiondoNotWait(){sleep(10);$this->logger->debug("Youshouldn'twait");}现在我需要在日志中看到的是:StartedIshouldn'twaitYou

php - 有限制地排队 Guzzle 请求

我正在使用Guzzle6开发Laravel应用程序。很多功能都依赖于API,我已经为其创建了一个包装器。我的包装器是一个单独的类,它在__construct()中创建Guzzle客户端,并具有各种返回Guzzle请求响应的公共(public)函数。我使用的API限制为每10秒40个请求。我正在缓存东西,所以很少会达到这个限制,但我想知道如果达到了我的应用程序不会死掉!关于我的应用的一些说明:只有在过去6小时内没有进行过相同的调用时,才会进行API调用。如果有,则永远不会进行调用,直接从我的Redis缓存提供响应。在大多数情况下,API调用是通过用户操作进行的。应用程序本身永远不会接近达

php - 没有得到 Guzzle 的预期响应

我正在尝试构建一个端点,使用SlimPHP框架将传递给它的数据转发给API,但我无法从Guzzle请求获得响应。$app->map('/api_call/:method',function($method)use($app){$client=newGuzzleHttp\Client(['base_url'=>$app->config('api_base_url'),'defaults'=>['query'=>['access_token'=>'foo'],]]);$request=$client->createRequest($app->request->getMethod(),$me

php - Guzzle:处理 400 个错误请求

我在Laravel4中使用Guzzle从另一台服务器返回一些数据,但我无法处理错误400错误请求[statuscode]400[reasonphrase]BadRequest使用:$client->get('http://www.example.com/path/'.$path,['allow_redirects'=>true,'timeout'=>2000]);如何解决?谢谢, 最佳答案 如Guzzle官方文档中所述:http://guzzle.readthedocs.org/en/latest/quickstart.htmlAG

php - Guzzle 返回 cURL 错误 3 : <url> malformed

我想试用guzzle库并关注他们的quickstart向api发出http请求的教程。但它似乎不起作用,因为我收到以下错误:cURLerror3:malformed由于我以前从未使用过cURL,所以我什至不知道如何响应该错误消息。这是我提出的请求的代码:$client=newClient();$client->get('/',['verify'=>true]);$response=$client->get('https://api.github.com/');dd($response);我正在使用Laravel5框架并在我的HomeController中调用索引方法。我也在使用WAMP

php - 如何同时执行多个 Guzzle 请求?

我可以使用Guzzle执行单个请求,我对Guzzle迄今为止的性能非常满意,但是,我在GuzzleAPI中读到了一些关于MultiCurl和Batching的内容。有人可以向我解释如何同时提出多个请求吗?如果可能,异步。我不知道这是否就是MultiCurl的意思。同步也不是问题。我只想同时或非常接近(时间短)做多个请求。 最佳答案 来自文档:http://guzzle3.readthedocs.org/http-client/client.html#sending-requests-in-parallel有关返回映射到响应或错误的请