在Windows中運行。使用代理時PHP cURL與file_get_contents
以下代碼正常工作。設置代理時,我沒有指定用戶名和密碼。
$aContext = array(
'http' => array(
'proxy' => 'tcp://ip:port',
'request_fulluri' => true,
),
);
$cxContext = stream_context_create($aContext);
echo file_get_contents("someurl", False, $cxContext);
但是,當我嘗試此代碼時,它不會工作,除非我指定代理的用戶名和密碼。
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_HTTP | CURLPROTO_HTTPS);
curl_setopt($ch, CURLOPT_PROXY, 'http://ip:port');
curl_setopt($ch, CURLOPT_URL, "someurl");
$responseBody = curl_exec($ch);
我得到一個HTTP 407錯誤(收到的HTTP代碼407代理CONNECT之後),除非我指定http://domain\user:[email protected]:port
任何想法如何使捲曲工作不指定用戶名和密碼(如的file_get_contents一樣) ?
當使用CURLOPT_PROXY試圖分裂IP和端口部分。 'curl_setopt($ ch,CURLOPT_PROXY,'X.X.X.X'); curl_setopt($ ch,CURLOPT_PROXYPORT,'XXXX');' – Bijan
@Bijan分別指定url和端口時出現同樣的錯誤。剛剛嘗試過。 – thomas