POST在这里发送了哪些变量

时间:2011-04-04 18:12:25

标签: javascript asp.net post firebug

我有这个页面:http://www.tataphoton.com/customer-service.aspx

我从第一个组合中选择第一个选项:“Photon Pro”然后按Go 然后我选择了第一个城市:艾哈迈达巴德

现在它显示了客户关怀细节。

我想通过以编程方式发送POST请求来获取相同的数据。

我看到以下变量正在发送到服务器(我是从Firebug-> Net标签获得的):

  • comGetvalue => 'Photon Pro',
  • __ EVENTARGUMENT => '',
  • __ LASTFOCUS => '',
  • comState_city => '艾哈默德巴德',
  • __ EVENTTARGET => 'comState_city',
  • __ EVENTVALIDATION =>'非常长字符串',
  • __ VIEWSTATE =>'Long String'

上面的代码显示了name = value对(如我的perl代码中所示)。 但是服务器没有发送正确的响应。我错过了任何未发送的帖子变量吗?

我添加了javascript和firebug作为标记,因为这些人可以通过查看html代码轻松找到我发送的任何缺失值。

2 个答案:

答案 0 :(得分:1)

首先,您正在形成的请求来自它所在的站点(这是一个跨站点请求)吗?

其次,您尝试将VIEWSTATE的副本发送到服务器,它将无法正常工作。视图状态是一个特殊加密的字符串,其中包含有关当前页面的所有状态信息,cookie等,并将随每次加载而变化。服务器将拒绝任何使用其他方法发回的尝试。

答案 1 :(得分:1)

__EVENTVALIDATION__VIEWSTATE不太重要吗?此外,给定字段名称,是否可能每个会话导出这些值以防止外部访问?

如果你没有得到你期望的回应,我会首先检查你的请求的性质 - 我的猜测是你试图“切入”一个过程的中间,这个过程的目的是要求你从一开始。因此,您可能必须从头开始处理您的卷曲请求 - 首先请求初始页面(启用cookie)以建立会话ID,然后发送请求以“选择”第一个组合的值,然后另一个请求选择城市。