0

我又遇到了一个奇怪的问题:

我正在编写一个爬虫来索引一个特定的站点。几个星期以来,它运行良好,我只是在每小时发送太多请求时遇到问题。

但是现在我什至无法访问单个页面。

但更奇怪的是:我必须通过 POST 提交一些表单值,但服务器返回 404 错误——尽管 URL 绝对正确。

我实施了许多技术来防止beeing被识别为机器人:更改用户代理、延迟,并且我正在发送一个Referer-header来假装表单是从他们自己的网站提交的。

这可能再次成为他们服务器上的垃圾邮件或 DDOS 保护吗?还是有其他可能的错误来源?

4

2 回答 2

0

确保您的 URL 没有任何额外数据。

这个:

curl_setopt($ch, CURLOPT_URL, 'http://www.aspsite.com/');

变为(注意反斜杠已删除):

curl_setopt($ch, CURLOPT_URL, 'http://www.aspsite.com');

如果您打算使用 GET 数据,请确保您的 ASP 文件完全请求您发送的数据。

于 2013-11-14T22:27:30.393 回答
0

好的,刚刚解决了。

远程服务器的一个非常奇怪的行为导致了这个问题:当发送的参数比预期的多时,它返回 404 而不是忽略不需要的参数。

于 2012-06-11T15:28:58.190 回答