【问题标题】:Generating possible URLs from forms从表单生成可能的 URL
【发布时间】:2009-03-10 13:48:39
【问题描述】:

我正在尝试获取此页面上的表单生成的所有 URL(然后获取数据) - http://www.vodafone.in/_layouts/servicecallertunes.aspx,但收效甚微。

我已经在 Firefox 3.0.5、Ubuntu 上安装了 HTTP Headers(0.14) 插件。但是生成的 URL 非常奇怪而且很长。 例如:

POST /_layouts/servicecallertunes.aspx __EVENTTARGET=CTTunes1%24ddlTunesSubCategories&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=M0ZAMFvA%2Baq58jd57T84z0fdR%2B1tju00M3YD5nagIHQB48ihJiAoFxS%2B%2Ff8CvaAigdH2a4

(持续超过 5000 个字符)

从上述表格中获取数据的可能可编程选项是什么?我目前唯一的想法是生成所有可能的 URL,然后获取数据。

提前致谢。 巴特·J

【问题讨论】:

  • 一长行让你的其余行在右侧边栏后面......为了可读性你能把它分开吗?

标签: html forms screen-scraping


【解决方案1】:

这是一个 ASP.NET 页面,这就是您在其中看到 __VIEWSTATE 的原因。

顾名思义,viewstate 对有关视图状态的信息进行编码,以尝试让创建表单的程序员“感觉”无状态 HTTP 连接是有状态的。

看起来实际上有一个firefox plugin 可以让您解码视图状态并查看其中的信息(如果有)。您也许可以使用它来确定真正提交的内容并制作您自己的视图状态以获得您想要的行为。

或者您可以只生成所有可能的 URL - 这可能更容易:)

【讨论】:

  • 谢谢你的回答,埃里克。我已经安装了 Viewstate 插件,但是我希望看到一个 URL,但是我得到了一些奇怪的字符串。您能否在 ViewState 插件中查看 URL?
  • 视图状态在沃达丰网站上已加密。这个插件将无法提供帮助
【解决方案2】:

您可以在此处获得 250 个连续页面中的相同数据:

http://www.vodafone.in/existingusers/services/pages/callertunes_searching.aspx?cttrack=1

【讨论】:

  • 谢谢科林。但是,遍历所有结果页面的问题仍然存在,因为分页是回发。
  • 好吧,至少您已经稍微降低了复杂性,您可能能够更轻松地识别正确的 POST。当然,总有转椅集成 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多