2010-06-26 129 views

回答

0

內置的streamscURL extension都能夠通過代理髮出請求。使用其中任何一種方法都會比直接使用套接字更加優選。

cURL擴展明確提到代理認證,雖然流沒有明確提及它,但接受代理作爲URI,因此您可以使用proto://user:[email protected]:port語法。我還沒有嘗試過,並且不確定它是否可行。

+0

是啊,我想直接用在呼喚捲曲擴展我的程序這一翻譯插口。 我不知道該收到什麼,以及要發送給驗證的內容拋出代理... – user377158 2010-06-26 23:44:46

+0

如果有人已經爲創建庫創建了所有艱難的工作,那麼您真的不想使用套接字。 – Charles 2010-06-26 23:57:46

0

我假設你的意思是你想通過一個需要身份驗證的代理進行HTTP請求,而不是使用Squid中的身份驗證方法來驗證對Web服務器的請求。

你只需要爲CURLOPT_PROXYAUTH CURLOPT_PROXYPORT(通常爲3128)和CURLOPT_PROXYTYPE(HTTP)

$ch = curl_init(); 
$opts=array(
    CURLOPT_PROXY="squid.example.com", 
    CURLOPT_PROXYPORT=>3128, 
    CURLOPT_PROXYTYPE=>CURLPROXY_HTTP, 
    CURLOPT_PROXYAUTH=>CURLAUTH_BASIC, 
    CURLOPT_PROXYUSERPWD=>"${username}:${password}", 
    CURLOPT_URL=>"http://www.example.com/sompage.html"); 
curl_setopt_array($opts); 
curl_exec($ch); 

注意,這個假設魷魚配置爲HTTP認證(而不是會話或基於NTLM設置正確的價值觀認證)。

真的不想這樣做在PHP中使用套接字。

HTH

C.