【发布时间】:2016-09-19 04:14:26
【问题描述】:
我试图在我的项目中使用 Guzzle 从 URL 中读取值。请求的 url 只返回一个数字,没有 html 标题、正文或任何内容。起初我只是使用 curl 来阅读它,并且已经发现我需要设置 2 个额外的 cUrl 选项才能成功阅读。我的代码看起来像这样,工作起来就像一个魅力:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://192.168.2.5/temp');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo $value = curl_exec($ch);
现在我开始使用 guzzle,我想如果我只使用相同的 cUrl 选项就可以了,所以我创建了以下代码:
$client = new Client( );
$res = $client->request('GET','http://192.168.2.5/temp',['connect_timeout' => 10,'curl' => [CURLOPT_HEADER => 0, CURLOPT_RETURNTRANSFER => true]]);
echo $Value = $res->getBody()->read(1024);
但是,这段代码给了我这个错误:
CurlFactory.php 第 187 行中的 RequestException:cURL 错误 0:cURL 请求重试了 3 次,没有成功。最有可能的 失败的原因是 cURL 无法倒带 请求和随后的重试导致相同的错误。打开 调试选项,看看出了什么问题。看 https://bugs.php.net/bug.php?id=47204 了解更多信息。 (看 http://curl.haxx.se/libcurl/c/libcurl-errors.html)
知道为什么这不起作用吗?
【问题讨论】:
-
我遇到了同样的问题,我是这样解决的:stackoverflow.com/questions/46323867/…