2012-02-25 84 views
0

我试图使用卷曲POST数据到这个URL形式:使用cURL POST数据到一个表单

http://dq.sdc.bsnl.co.in/dq/reversePhone.seam?cid=812363 

看到它的来源,形式看起来像

<form id="revPhone" name="revPhone" method="post" action="/bsnl-web/reversePhone.seam;jsessionid=D238FA7A23A89A38C56B808B96F5D212" enctype="application/x-www-form-urlencoded" onkeyup="if (!check2(event)) {return false;};A4J.AJAX.Submit('loader2','revPhone',event,{'eventsQueue':'myqueue','parameters':{'revPhone:j_id16':'revPhone:j_id16'} ,'actionUrl':'/bsnl-web/reversePhone.seam;jsessionid=D238FA7A23A89A38C56B808B96F5D212','requestDelay':5})"> 

<input type="hidden" name="revPhone" value="revPhone" /> 
<input type="hidden" name="revPhone:j_id12" /> 
<input id="revPhone:firstField" type="text" name="revPhone:firstField" maxlength="8" onkeydown="return removeEnter1(event)" /> 
<input id="revPhone:city" type="text" name="revPhone:city" value="Enter City Name" onblur="defaultText1();hideImage()" onfocus="defaultText2()" onkeyup="showImage(event)" /> 

代码粘贴在这里:http://hastebin.com/wihunayilu.xml

试图卷曲使用这些值:

curl --data "revPhone:firstField=24988872&revPhone:city=CHENNAI" http://dq.sdc.bsnl.co.in/dq/reversePhone.seam?cid=812363 

我最终以相同的页面作为回应。我怎样才能看到(使用萤火虫?)什么参数被传递到发布表单,以便我可以正确地发送请求到服务器?

非常感谢

+0

可能重复[使用cURL将数据发布到表单](http://stackoverflow.com/questions/9446085/using-curl-to-post-data-to-a-form) – nlucaroni 2012-02-26 03:19:12

回答

1

形式使用AJAX张贴到它返回一个页面的元标记重定向的URL。我所看到的参数是在调试器打开的情况下提交的(我使用了chrome的开发工具,但这也可能在firebug中工作),然后在调用完成之前快速按下转义键。 】这个params是这个样子:

AJAXREQUEST:loader2 
revPhone:revPhone 
revPhone:j_id12: 
revPhone:firstField:24988872 
revPhone:city:CHENNAI 
revPhone:suggestionBoxId_selection: 
javax.faces.ViewState:j_id4 
revPhone:search:revPhone:search 

和反应是:

<?xml version="1.0" encoding="UTF-8"?> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head><meta name="Ajax-Response" content="redirect" /> 
<meta name="Location" content="/bsnl-web/debug.seam;jsessionid=(some JSESSIONID)?cid=877632" /> 
</head></html> 

(我编辑了我的JSESSIONID)

我卷曲线为:

curl --data "AJAXREQUEST=loader2&revPhone:suggestionBoxId_selection=&javax.faces.ViewState=j_id4&revPhone:search=search&revPhone=revPhone&revPhone:j_id12=&revPhone:firstField=24988872&revPhone:city=CHENNAI" http://dq.sdc.bsnl.co.in/dq/reversePhone.seam?cid=812363 
+0

这真棒汤姆!我从来不知道可以看到像这样的参数。一个问题,但你的卷曲线没有得到我正在寻找的反应,即搜索结果。这只是一个空白的HTML页面。有没有办法获得结果? – Prakhar 2012-02-25 17:44:06

+0

看起来您必须在请求中发送JSESSIONID Cookie,否则您将获得该调试重定向。无论如何,这应该是一个两步骤的过程:卷曲页面,并在响应中的“位置”元标记有你想要的结果URL – 2012-02-25 17:57:34