2013-09-30 24 views
0

http://www.rlsnet.ru/tn_alf_letter_DF.htm - 我有這個網址,在瀏覽器中它工作正常,但如果我用這個做一個請求:PHP捲曲得到404,而在瀏覽器中所有的罰款

$url = 'http://www.rlsnet.ru/tn_alf_letter_DF.htm'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$data = curl_exec($ch); 
print_r(curl_getinfo($ch)); 
exit; 

我得到這樣的結果:

Array ([url] => http://www.rlsnet.ru/tn_alf_letter_DF.htm [content_type] => text/html; charset=windows-1251 [http_code] => 404 [header_size] => 214 [request_size] => 72 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 14.925294 [namelookup_time] => 5.401249 [connect_time] => 5.643545 [pretransfer_time] => 5.643608 [size_upload] => 0 [size_download] => 87314 [speed_download] => 5850 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => 0 [starttransfer_time] => 12.941717 [redirect_time] => 0) 

http_code是404,爲什麼會發生這種情況?

更新:

$url = 'http://www.rlsnet.ru/tn_alf_letter_DF.htm'; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0'); 
curl_setopt($ch, CURLOPT_HEADER, TRUE); 
curl_setopt($ch, CURLOPT_REFERER, 'http://www.rlsnet.ru'); 
$data = curl_exec($ch); 
print_r(curl_getinfo($ch)); 
exit; 

仍然得到404

+0

嗯,如果你做'curl_setopt($ ch,CURLOPT_HEADER,TRUE);',你在'$ data'中得到了什麼? –

+0

可能是因爲該網站不喜歡被殭屍程序訪問,並已採取反措施。 (其中最簡單的一個就是期望一個聽起來像普通瀏覽器的用戶代理標題,所以它也是通過添加其中一個而最容易擊敗的)。 – CBroe

+0

添加CURLOPT_HEADER後,我仍然得到404 –

回答

0

相同的代碼給我[http_code] => 200

也許有你的捲曲安裝有問題。

測試一下phpinfo()

捲曲的支持使

捲曲信息7.30.0

年齡3

特點

AsynchDNS沒有

調試沒有

GSS-協商無

IDN是

IPv6的是

Largefile是

NTLM是

SPNEGO沒有

SSL是

SSPI沒有

krb4用無

libz進行是

的Charconv沒有

協議快譯通,文件,FTP,FTPS,地鼠,HTTP,HTTPS,IMAP,IMAPS,POP3,POP3S,RTSP ,SMTP,SMTPS,TELNET,TFTP

主機x86_64的 - 蘋果darwin11.4.2

SSL版本的OpenSSL/1.0.1e

ZLib版本1.2。8

+0

哪個配置應該在php中更改? –

+0

將我的配置添加到答案 – Adi

0

嘗試設置用戶代理和參考:

curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0'); 
curl_setopt($curl, CURLOPT_REFERER, 'http://www.rlsnet.ru'); 
+0

仍然獲得404 –

1

它爲我與你的代碼。

嘗試curl_setopt($ch, CURLOPT_TIMEOUT, 0);curl_setopt($ch, CURLOPT_TIMEOUT, 0)它可以根據你print_r

什麼是你的捲曲版本發佈的連接時間超時的問題?我是7.22.0

相關問題