0

http://www.rlsnet.ru/tn_alf_letter_DF.htm - 我有这个网址,在浏览器中它工作正常,但如果我使用这个发出请求:

$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

4

3 回答 3

1

它适用于我的代码。

尝试一下,根据您发布的连接时间curl_setopt($ch, CURLOPT_TIMEOUT, 0);curl_setopt($ch, CURLOPT_TIMEOUT, 0)这可能是超时问题print_r

你的卷曲版本是什么?我的是 7.22.0

于 2013-09-30T12:03:27.727 回答
0

相同的代码给了我[http_code] => 200

也许你的 curl 安装有问题。

尝试检查您的phpinfo()

启用 cURL 支持

cURL 信息 7.30.0

3 岁

特征

异步DNS 否

调试号

GSS-协商否

国际化域名是

IPv6 是

大文件 是

NTLM 是

SPNEGO 没有

SSL 是

SSPI 没有

krb4 没有

libz 是的

CharConv 否

协议 dict、file、ftp、ftps、gopher、http、https、imap、imaps、pop3、pop3s、rtsp、smtp、smtps、telnet、tftp

主机 x86_64-apple-darwin11.4.2

SSL 版本 OpenSSL/1.0.1e

ZLib 版本 1.2.8

于 2013-09-30T08:16:02.293 回答
0

尝试设置User-Agent和Referer:

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');
于 2013-09-30T08:16:15.863 回答