|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2004-11-01 05:56 UTC] iliaa@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 14:00:01 2025 UTC |
Description: ------------ Infinite looping when I tried to get page through proxy using curl library and option "CURLOPT_FOLLOWLOCATION". Without this option all works OK. This bug I saw under curl-7.10.5, curl-7.11.2 curl-7.12.2 Reproduce code: --------------- $proxy="64.56.118.178:1080"; $addr = "http://www.yandex.ru/"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $addr); curl_setopt($ch, CURLOPT_PROXY, $proxy); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_HTTPGET,1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_HEADER, FALSE); curl_setopt($ch, CURLOPT_VERBOSE, TRUE); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); curl_setopt($ch, CURLOPT_TIMEOUT, 3); $parse = curl_exec($ch); print("OK"); Expected result: ---------------- I've expected printing "OK" Actual result: -------------- firstly I sow nothing. when I became use curl_setopt($ch, CURLOPT_VERBOSE, TRUE) I sow lopping next: 64.56.118.178:1080 * About to connect() to 64.56.118.178 port 1080 * Trying 64.56.118.178... * connected * Connected to 64.56.118.178 (64.56.118.178) port 1080 > GET http://www.yandex.ru/ HTTP/1.1 Host: www.yandex.ru Pragma: no-cache Accept: */* < HTTP/1.0 302 Found < Connection: Close < Location: http://no-full-proxy-allowed/ * Closing connection #0 * Issue another request to this URL: 'http:// no-full-proxy-allowed/' * About to connect() to 64.56.118.178 port 1080 * Trying 64.56.118.178... * connected * Connected to 64.56.118.178 (64.56.118.178) port 1080 > GET http://no-full-proxy-allowed/ HTTP/1.1 Host: no-full-proxy-allowed Pragma: no-cache Accept: */* Notice: when I use $addr = "http://www.yandex.ru"; instead $addr = "http://www.yandex.ru/"; All works OK!