我正在尝试自动化几个http请求,其中我跟踪了从网络上捕获的POST调用数据:
方法:POST 请求标题:
POST /cgi-bin/auto_dispatch.cgi HTTP / 1.1 主持人:10.226.45.6 连接:保持活力 内容长度:244 缓存控制:max-age = 0 升级 - 不安全请求:1 用户代理:Mozilla / 5.0(Windows NT 6.3; WOW64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 53.0.2785.143 Safari / 537.36 内容类型:multipart / form-data;边界= ---- WebKitFormBoundaryhwDXAifvLs48E95A 接受:text / html,application / xhtml + xml,application / xml; q = 0.9,image / webp, / ; q = 0.8 推荐人:http://10.226.45.6/auto_dispatch.html Accept-Encoding:gzip,deflate Accept-Language:en-US,en; q = 0.8,kn; q = 0.6 Cookie:TWIKISID = dce9a6aa10e33b708f5bbc2912f781ab
有效载荷:
------ WebKitFormBoundaryhwDXAifvLs48E95A 内容处理:表格数据;名称= “taskid的”
123 ------ WebKitFormBoundaryhwDXAifvLs48E95A 内容处理:表格数据; NAME = “提交”
提交表格 ------ WebKitFormBoundaryhwDXAifvLs48E95A -
我的脚本如下:
import httplib, urllib
def printText(txt):
lines = txt.split('\n')
for line in lines:
print line.strip()
params = urllib.urlencode({'@taskid': 12524, '@Submit': 'Submit Form'})
headers = {"Content-type": "multipart/form-data", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"}
conn = httplib.HTTPConnection("10.226.45.6", 80)
conn.request("POST", "auto_dispatch.html", params, headers)
response = conn.getresponse()
print response.status, response.reason
printText (response.read())
conn.close()
我收到以下错误:
400 Bad Request 400错误请求 错误的请求 您的浏览器发送了此服务器无法理解的请求。
请帮我提出正确的要求。
答案 0 :(得分:0)
我尝试了对我有用的卷曲命令:
curl --request POST'http://10.226.45.6/cgi-bin/auto_dispatch.cgi HTTP / 1.1' - 数据'taskid = 111& submit = submit'
卷曲 - 请求POST'http://10.226.45.6/cgi-bin/auto_free.cgi HTTP / 1.1' - 数据'submit = submit'