2016-05-22 4 views
1

Я пытаюсь использовать Guzzle в своем проекте для чтения значения из URL-адреса. Запрошенный url возвращает только число, не заголовок html, тело или что-то еще. Сначала я просто использовал curl для его чтения, и уже понял, что мне нужно установить 2 дополнительных параметра cUrl, чтобы сделать успешное чтение. Мой код выглядит следующим образом, и работал как шарм:php: запрос преуспевает с 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); 

Теперь, когда я двигаюсь к использованию жрать, я думал, что было бы хорошо, если бы я просто хотел бы использовать те же параметры, локон, так что я создал этот код:

$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); 

Однако этот код дает мне эту ошибку:

RequestException in CurlFactory.php line 187: cURL error 0: The cURL request was retried 3 times and did not succeed. The most likely reason for the failure is that cURL was unable to rewind the body of the request and subsequent retries resulted in the same error. Turn on the debug option to see what went wrong. See https://bugs.php.net/bug.php?id=47204 for more information. (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

Любая идея, почему это не работает?

+0

Я была такая же проблема, я установил этот путь: https://stackoverflow.com/questions/46323867/url-error-0-the-curl-request-was-retried-3-times -and-did-not-success/47232837 # 47232837 –

ответ

0

Это отлично работает для меня (с использованием жрать 6.2.0):

$client = new \GuzzleHttp\Client(); 
$response = $client->request('GET','http://google.com'); 
echo $response->getBody()->getContents(); 

С другой стороны, посмотрите на этот пост, и проверить, если ваш сервер возвращает Somthing подобное, что может вызвать проблемы.

https://www.bountysource.com/issues/32019967-breaking-change-in-guzzle-6-when-receiving-a-204-no-content-response-with-no-body

+0

уверен, что это работает, проблема в том, что я делаю http-запрос к сервису, который даст мне только номер, ничего больше. Это кажется сложным для guzzle/cUrl – ErikL

+0

Какой контент-тип используется в ваших ответах, используя в своих ответах? – runz0rd

+0

HTTP/1.1 200 OK Content-Type: text/html – ErikL

Смежные вопросы