2

我想捕捉参数是如何发送的。通常我所做的是发出请求并在 Firebug 的参数选项卡上检查发送的参数是什么。但是,当我尝试在以下站点 ( http://www.infraero.gov.br/voos/index_2.aspx ) 上执行此操作时,它不起作用 - 我看不到参数是什么使用 curl 重复此请求。我怎么才能得到它?我不确定,但我认为正在使用 cookie。

编辑

我能够获得请求内容,但无法理解。它似乎使用 javascript 来生成正确的请求。如何通过 cURL 重现此请求?

4

2 回答 2

1

你看到这个以前的问题cURL post data to asp.net page 了吗?这可能会回答那里的问题(我所做的只是搜索“ASP.NET cURL”)。而这个:Unable to load ASP.NET page using Python urllib2谈到了 Python,但它以一种应该转换为 cURL 的方式接近它。

但是对于我的 0.02 美元,我不会费心尝试解开 ASP.NET 和 __VIEWSTATE 以及 javascript。使用 cURL 是绝对要求吗?

我认为你最好使用一个更像真正的浏览器并且理解 javascript 的客户端。这有点工作,但并不像听起来那么糟糕。我以前用http://watirwebdriver.com/和一个简短的 Ruby 脚本做过这个。这是使用Python 和 Mechanize的方法(这可能更轻量级)。 http://phantomjs.org/是您使用 javascript 编写脚本的另一个选项。如果您在 Google 上搜索“Scraping ASP.NET”,您会发现这是一个常见问题。

于 2012-05-02T01:58:19.040 回答
0

您没有说您希望如何完成,但您可以使用 curl -d name1=contents1&name2=contents2 [TARGETURL] 等简单地发送请求。

请注意,您可能首先需要获取主页并提取“__VIEWSTATE”表单字段并提交回该(非常大的)内容以使您的提交被接受。

于 2012-04-26T20:18:36.657 回答