我抓包到这样一个POST数据:
POST /exporter/sendCsLeadsAction.html HTTP/1.1Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-silverlight, */*Referer: http://exporter.alibaba.com/exporter/registry.html?srctrace=y&originType=50Accept-Language: zh-cnContent-Type: application/x-www-form-urlencodedUA-CPU: x86Accept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; .NET CLR 3.5.21022)Host: exporter.alibaba.comContent-Length: 1238Connection: Keep-AliveCache-Control: no-cacheCookie: ali_apache_id=221.232.223.51.1204690406902.0; __last_loginid__=kezhon; ali_apache_track=c_mt=2|c_mid=kezhon|c_lid=kezhon|c_ms=1;_intl_temp_other_=/z2HMndRfnwramL4FO/BB/Gt82aZ2PyoTRSiosV4cFEqfPmAC52wBhRx+Vu7SgdE; ali_apache_tracktmp=; ali_apache_sid=211.69.161.68.1207216999217.8|1207218815; JSESSIONID=DB1872374DA672B97E0C5A3A11EAAAA5name=%E7%8E%8B%E5%B2%9A&emailprefix=znuse&mail_postfix=163.com&mail_post=&companyName=%E8%93%9D%E8%B0%83%E5%A1%91%E8%83%B6%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8&countryName=%E4%B8%AD%E5%9B%BD&country=China&province=province5&provinceName=%E5%B9%BF%E4%B8%9C%E7%9C%81&provinceValue=province5&city=city45&cityName=%E5%B9%BF%E5%B7%9E%E5%B8%82&county=country237&countyName=%E5%B9%BF%E5%B7%9E%E5%B8%82¬CNCity=&companyAddress=%E7%8E%AF%E5%B8%82%E4%B8%AD%E8%B7%AF15%E5%8F%B7&countryCode=%2B86&workPhoneArea=020&workPhoneNumber=85627546&industry=100000080&mobilePhone=&consultation=%E6%88%91%E6%84%BF%E6%84%8F%E6%94%B6%E5%88%B0%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E6%96%B0%E4%BA%A7%E5%93%81%2F%E6%9C%8D%E5%8A%A1%E7%9A%84%E9%80%9A%E7%9F%A5%E4%BF%A1&[email protected]&address=%E4%B8%AD%E5%9B%BD%2C%E5%B9%BF%E4%B8%9C%E7%9C%81%2C%E5%B9%BF%E5%B7%9E%E5%B8%82%2C%E5%B9%BF%E5%B7%9E%E5%B8%82%2C%E7%8E%AF%E5%B8%82%E4%B8%AD%E8%B7%AF15%E5%8F%B7&subject=Mini%E4%BE%9B%E5%BA%94%E5%95%86%E6%8B%9B%E5%95%86%E5%8F%8D%E9%A6%88&phone=%2B86-020-85627546&re=%E5%9C%A8%E5%9B%BD%E9%99%85%E7%AB%99%E6%8F%90%E4%BA%A4%E6%B3%A8%E5%86%8C%E5%9B%BD%E9%99%85%E7%AB%99%E4%BC%9A%E5%91%98%E7%94%B3%E8%AF%B7&needFeedbackEmail=Y&submitbtn2=%E6%B3%A8%E5%86%8C%E4%BC%9A%E5%91%98有这样几个疑问:
1:浏览器怎么确定在POST时需要加哪些标题字段,因为我发现不同网站的表单提交时POST标题字段都不一样,浏览器根据什么确定的?
Accept:
Referer:
Accept-Language:
Content-Type:
UA-CPU:
Accept-Encoding:
User-Agent:
Host:
Content-Length:
Connection:
Cache-Control:
Cookie: 2:cookie里面都是些什么信息,浏览器怎么确定需要包含哪些信息?3:是不是Form中所有的元素包括所有的Input和Select的name=value对全部需要提交,包括type="hidden"这一类元素?如果不是全部都提交的话浏览器怎么确定哪些需要提交哪些不需要?
POST /exporter/sendCsLeadsAction.html HTTP/1.1Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-silverlight, */*Referer: http://exporter.alibaba.com/exporter/registry.html?srctrace=y&originType=50Accept-Language: zh-cnContent-Type: application/x-www-form-urlencodedUA-CPU: x86Accept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; .NET CLR 3.5.21022)Host: exporter.alibaba.comContent-Length: 1238Connection: Keep-AliveCache-Control: no-cacheCookie: ali_apache_id=221.232.223.51.1204690406902.0; __last_loginid__=kezhon; ali_apache_track=c_mt=2|c_mid=kezhon|c_lid=kezhon|c_ms=1;_intl_temp_other_=/z2HMndRfnwramL4FO/BB/Gt82aZ2PyoTRSiosV4cFEqfPmAC52wBhRx+Vu7SgdE; ali_apache_tracktmp=; ali_apache_sid=211.69.161.68.1207216999217.8|1207218815; JSESSIONID=DB1872374DA672B97E0C5A3A11EAAAA5name=%E7%8E%8B%E5%B2%9A&emailprefix=znuse&mail_postfix=163.com&mail_post=&companyName=%E8%93%9D%E8%B0%83%E5%A1%91%E8%83%B6%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8&countryName=%E4%B8%AD%E5%9B%BD&country=China&province=province5&provinceName=%E5%B9%BF%E4%B8%9C%E7%9C%81&provinceValue=province5&city=city45&cityName=%E5%B9%BF%E5%B7%9E%E5%B8%82&county=country237&countyName=%E5%B9%BF%E5%B7%9E%E5%B8%82¬CNCity=&companyAddress=%E7%8E%AF%E5%B8%82%E4%B8%AD%E8%B7%AF15%E5%8F%B7&countryCode=%2B86&workPhoneArea=020&workPhoneNumber=85627546&industry=100000080&mobilePhone=&consultation=%E6%88%91%E6%84%BF%E6%84%8F%E6%94%B6%E5%88%B0%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E6%96%B0%E4%BA%A7%E5%93%81%2F%E6%9C%8D%E5%8A%A1%E7%9A%84%E9%80%9A%E7%9F%A5%E4%BF%A1&[email protected]&address=%E4%B8%AD%E5%9B%BD%2C%E5%B9%BF%E4%B8%9C%E7%9C%81%2C%E5%B9%BF%E5%B7%9E%E5%B8%82%2C%E5%B9%BF%E5%B7%9E%E5%B8%82%2C%E7%8E%AF%E5%B8%82%E4%B8%AD%E8%B7%AF15%E5%8F%B7&subject=Mini%E4%BE%9B%E5%BA%94%E5%95%86%E6%8B%9B%E5%95%86%E5%8F%8D%E9%A6%88&phone=%2B86-020-85627546&re=%E5%9C%A8%E5%9B%BD%E9%99%85%E7%AB%99%E6%8F%90%E4%BA%A4%E6%B3%A8%E5%86%8C%E5%9B%BD%E9%99%85%E7%AB%99%E4%BC%9A%E5%91%98%E7%94%B3%E8%AF%B7&needFeedbackEmail=Y&submitbtn2=%E6%B3%A8%E5%86%8C%E4%BC%9A%E5%91%98有这样几个疑问:
1:浏览器怎么确定在POST时需要加哪些标题字段,因为我发现不同网站的表单提交时POST标题字段都不一样,浏览器根据什么确定的?
Accept:
Referer:
Accept-Language:
Content-Type:
UA-CPU:
Accept-Encoding:
User-Agent:
Host:
Content-Length:
Connection:
Cache-Control:
Cookie: 2:cookie里面都是些什么信息,浏览器怎么确定需要包含哪些信息?3:是不是Form中所有的元素包括所有的Input和Select的name=value对全部需要提交,包括type="hidden"这一类元素?如果不是全部都提交的话浏览器怎么确定哪些需要提交哪些不需要?
2,cookie的信息客户端并不关心,只是原样发送给服务器,cookie的发送策略见1。
3,全部提交,不论隐藏与否
为什么发现我上面那个案例里面的隐藏域input元素没有提交呢?
操作,你必须熟悉这些字段,如果是IE控件级别,你就不需要了解了。>>为什么发现我上面那个案例里面的隐藏域input元素没有提交呢?
用 HTTPWatch来观察
其实我想做个模拟浏览器提交表单的程序,但是我并不想一个网站一个网站地实验抓包分析来确定需要POST哪些数据。不知道光通过分析网页HTML能不能得到所有的信息,所以我问你浏览器是怎么确定那些标题字段的,因为单从网页上找不到这些信息!
照你的意思,是不是这些字段并不涉及浏览器与服务器的对应交互,而只是浏览器自己设置的选择而已?
如果是这个思路的话我之前也小小实验过,但是具体到vc编程里面,我不知道怎么来读取这个更改之后的网页,并制止返回页面弹出的窗口!
Accept:
Referer:
Accept-Language:
Content-Type:
UA-CPU:
Accept-Encoding:
User-Agent:
Host:
Content-Length:
Connection:
Cache-Control:
Cookie:
哪些需要哪些不需要???
其它的问题,我还是建议看规范,比一个一个问强得多