如何通过cURL重现请求

时间:2012-04-22 21:05:27

标签: forms cookies curl firebug query-parameters

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

修改

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

2 个答案:

答案 0 :(得分: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 and Mechanize(这可能更轻量级)。 http://phantomjs.org/是您使用javascript编写脚本的另一个选项。如果您使用Google“Scraping ASP.NET”,您会发现这是一个常见问题。

答案 1 :(得分:0)

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

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