提问者:小点点

httplib后调用错误


我正在尝试自动化一些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错误请求错误请求您的浏览器发送了此服务器无法理解的请求。

请帮我提出一个适当的要求。


共1个答案

匿名用户

我尝试了对我有效的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'