|
还不太会采post的朋友看看把,高手就不必了
数据查询累网站,一般都是用post方式请求的,post也只是分析下表单就可以了,和发布模块一样,不用抓包也同样能做,抓包只是快捷收集了post数据。对于怎么处理表单的,不是很明白,但只要将表单的各个项目参数,用&连接,了解每个参数的用途,然后对应做些设置就可以了,然后提交到post的地址,就会返回给我们一些设置的数据。
以这个查询站为例,http://pharm.ncmi.cn/dataContent ... hod=list&did=15,里面就一个表单: <form name="dataviewForm" id="SearchForm" method="post" action="/dataContent/dataSearch.do">
<input 标签的name属性值是表单的项目的名称
陆下面的
<input type="hidden" name="method" value="list" />
<input type="hidden" name="did" value="15" />
企业名称
<input type="text" name="manufacturer_name" class="text"
value="" />
生产范围
<input type="text" name="manufacturer_range" class="text"
value="" />
许可证
<input type="text" name="certificateno" class="text"
value="" />
<input type="submit" name="ssaveBtn" value="查询" style="background-color:#E8FDD2" class="button">
<input type="hidden" name="ec_i" value="ec" />---------
<input type="hidden" name="ec_crd" value="15" />-----------每页的显示数据的数量,默认是15 ,可以50,100,200
<input type="hidden" name="ec_p" value="1" />-------------第几页,默认是第一页
<input type="hidden" name="ec_s_certificateno" />--------------不清楚,可能是许可证把
<input type="hidden" name="ec_s_manufacturer_name" />-------------可能是搜索的企业名把
<input type="hidden" name="method" value="list" />
下面是这些表单路何提交的:源码里这地方是选择每页显示数据数量的下拉框<td class="statusBar" >共 6,689 条记录, 每页<select name="ec_rd" onchange="javascript:document.forms.SearchForm.ec_crd.value=this.options[this.selectedIndex].value;document.forms.SearchForm.ec_p.value='1';document.forms.SearchForm.setAttribute('action','/dataContent/dataSearch.do?did=15');document.forms.SearchForm.setAttribute('method','post');document.forms.SearchForm.submit()" >
<option value="15" selected="selected">15</option><option value="50" >50</option><option value="100" >100</option><option value="200" >200</option>
</select>图片
会些javascript就能明白是什么意思,当下拉框变化时,把表单中项目name为ec_crd的值变成当前下拉框选定的值,ec_p值为1,设置表单action属性'/dataContent/dataSearch.do?did=15',提交方式method=post,最后提交表单
还有选择页面时,发生的表单提交
<td style="font-size:12px;" >到<select name="ec_pd" style="width:50px;" onchange="javascript:document.forms.SearchForm.ec_p.value=this.options[this.selectedIndex].value;document.forms.SearchForm.setAttribute('action','/dataContent/dataSearch.do?did=15');document.forms.SearchForm.setAttribute('method','post');document.forms.SearchForm.submit()" >
<option value="1" selected="selected">1</option><option value="2" >2</option><option value="3" >3</option><option value="4" >4</option><option value="5" >5</option><option value="6" >6</option><option value="7" >7</option><option value="8" >8</option><option value="9" >9</option><option value="10" >10</option><option value="11" >11</option><option value="12" >12</option><option value="13" >13</option>
图片
和上面的差不多
把表单项目用&连接后,
最后post数据是
method=list&did=15&manufacturer_name=&manufacturer_range=&certificateno=&ssaveBtn=查询&ec_i=ec&ec_crd=50&ec_p=[分页]&ec_s_certificateno=&ec_s_manufacturer_name=
有些参数可能没有用,我也还有很多布是很明白的地方,manufacturer_name----企业名称,manufacturer_range-----生产范围,certificateno----许可证,
ec_crd-------每页显示的数据数量,ec_p---------第几页
百度百科表单http://baike.baidu.com/view/296684.htm
以上只是自己的理解,难免有很多错误
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?加入会员
x
|