我正在尝试使用php curl抓取.net网站。我想抓取的网站是
http://waltham.patriotproperties.com
我可以抓取该网站。
但是当我试图抓取内部网页时,如
http://waltham.patriotproperties.com/about.asp
或该子域内的任何其他页面,它给我一个错误如下
The page cannot be displayed because an internal server error has occurred.1
我正在使用的代码如下所示
$ch = curl_init();
$urlLogin = "http://www.waltham.patriotproperties.com";
curl_setopt($ch, CURLOPT_URL, $urlLogin);
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
//curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
echo $data;
代码适用于
http://waltham.patriotproperties.com/
但不适用于
http://waltham.patriotproperties.com/search.asp
http://waltham.patriotproperties.com/summary.asp
即此子域内的任何网址。 我在子域内使用url获得的错误是
HTTP/1.1 500 Internal Server Error
Content-Type: text/html
Server: Microsoft-IIS/7.5
Date: Wed, 05 Jun 2013 16:33:57 GMT
Content-Length: 75
答案 0 :(得分:1)
你刚开始:
$urlLogin = "http://www.waltham.patriotproperties.com";
但搜索页面的链接位于:
http://waltham.patriotproperties.com/search.asp
如果您浏览该网址,您会看到内容;如果您将www.
添加到URL的开头,则可以正常工作。
编辑添加 - 如果他们拥有您可以使用的API,这会变得更容易。