传递不正确的参数后在万维网::机械化

问题描述:

我写一个网站刮板我用WWW::Mechanize模块。我正在执行帖子,并将无效值传递给帖子的参数。我提取的是从该页面的所有链接并将其打印到文本文件。我会说没关系,因为文本文件是空的,这意味着没有找到该页面,但我的问题是success()方法正常,并且status()方法是200传递不正确的参数后在万维网::机械化

我知道这听起来有点奇怪,但我试图找到一个页面未找到状态或东西来知道该页面无效。

有谁有什么正在发生的任何想法?

+2

检查'$ mech-> content'和'$ mech->响应 - > as_string'看看网站真的回报了什么。它可能会返回HTML中的错误消息,但HTTP状态码为200。 – 2014-09-19 16:34:08

无论你的代码将工作取决于目标站点如何响应对缺页的请求。如果服务器通过提供错误页面来处理它,即使您请求的页面不在那里,您也会得到一个成功的(200)响应。

More information from Google on "soft 404s" - 缺页返回有效页面。

下面是一个例子,从SO配置的Apache以返回200响应,而不是404:

How can I replace Apache HTTP code 404 to 200