我正在尝试自动化一些http请求,其中,我从web捕获了以下调用后数据:
方法:POST请求标头:
POST/cgi bin/自动发送。cgi HTTP/1.1主机:10.226。45.6连接:保持活动内容长度:244缓存控制:最大年龄=0升级不安全请求:1用户代理:Mozilla/5.0(Windows NT 6.3;WOW64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/53.0。2785.143 Safari/537.36内容类型:多部分/表单数据;boundary=----WebKitFormBoundaryhwDXAifvLs48E95A接受:text/html,application/xhtml-xml,application/xml;q=0.9,图像/webp,/;q=0.8参考值:http://10.226.45.6/auto_dispatch.html接受编码:gzip,deflate接受语言:en-US,en;q=0.8千牛;q=0.6 Cookie:TWIKISID=dce9a6aa10e33b708f5bbc2912f781ab
有效载荷:
------WebKitFormBoundaryhwDXAifvLs48E95A内容配置:表单数据;name=“taskid”
123 ------WebKitFormBoundaryhwDXAifvLs48E95A内容配置:表单数据;name="Submit"
提交表格------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错误请求400错误请求错误请求您的浏览器发送了此服务器无法理解的请求。
请帮我提出一个适当的要求。
我尝试了对我有效的curl命令:
curl--request POST'http://10.226.45.6/cgi-bin/auto_dispatch.cgiHTTP/1.1'--data'taskid=111
curl--request POST'http://10.226.45.6/cgi-bin/auto_free.cgiHTTP/1.1'--数据'submit=submit'