0

我正在尝试使用 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。我在子域内使用 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 
4

1 回答 1

1

您开始于:

$urlLogin   =   "http://www.waltham.patriotproperties.com";

但搜索页面的链接位于:

http://waltham.patriotproperties.com/search.asp

如果您浏览该 URL,您将看到内容;如果您将www.加到 URL 的开头,它就可以工作。

编辑添加- 如果他们有您可以使用的 API,这将变得容易得多。

于 2013-06-05T16:43:02.293 回答