2 redparty redparty 于 2015.05.29 18:58 提问

用curl抓取淘宝页面信息,本地可以,服务器却不行

看下面的代码,在本地appach服务器可以正常打印出页面内容,但是到服务器上却提示15s 的timeout错误:



$htmlstr = get_html("http://detail.tmall.com/item.htm?id=41159437194");
echo $htmlstr;


function get_html( $url )
{
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_TIMEOUT,120);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1");

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//302redirect

    $content = curl_exec($ch);

    curl_close($ch);
    return $content;
}

8个回答

caozhy
caozhy   Ds   Rxr 2015.05.29 23:10

看下你的服务器直接通过浏览器能不能访问,是不是dns解析的问题,或者ip被淘宝封杀了。

qq_26687175
qq_26687175   2015.07.11 10:46

能公布一下,解决之后的完整源码吗
我这边也遇到这个问题,没法解决。
不胜感激!

MrBruces
MrBruces   2016.02.24 13:59

怎么解决的?我这也遇到了这个问题!谢谢了!!

edouardzyc
edouardzyc   2015.05.29 19:12

服务器不行? timeout只能是连接超时, 服务器能连接外网? host文件没有重定向?

redparty
redparty   2015.05.29 21:18

服务器不行? timeout只能是连接超时, 服务器能连接外网? host文件没有重定向?

在本地的appach中,能在2秒之内得到结果。但是在服务器上转半天也转不出来。

您说的host文件重定向指的是?和这个有关系么?

oyljerry
oyljerry   Ds   Rxr 2015.05.29 23:16

直接分析一下网络情况,并不一定是程序原因。

redparty
redparty   2015.05.31 18:07

服务器网络没有问题,服务器浏览器访问改页面也没有问题。

redparty
redparty   2015.05.31 18:23

研究了几天,问题终于得到解决。和cookie有关,提交cookie数据即可。

Csdn user default icon
上传中...
上传图片
插入图片