这个wget的等效python请求是什么?

时间:2014-01-28 07:31:08

标签: python post wget python-requests

我正在尝试使用requests通过XMLRPC连接到nessus服务器。以下wget调用正常运行:

wget -q --no-check-certificate \
     --post-data 'login=admin&password=adminpassword' \
     https://nessus.example.com:8834/login

我想把它移植到python但是:

>>> import requests
>>> r = requests.post("https://nessus.example.com:8834/login", 
        data={'user': 'admin', 'password': 'adminpassword'}, verify=False)
>>> r
<Response [500]>
>>> r.text
u'<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">\r\n
<html><head>\r\n<title>500 Unknown Error</title></head>
<body><h1>Unknown Error</h1><p>An unknown error occured</p></body></html>'

我怀疑我传递POST正文的方式不正确(错误消息无效)。我尝试了一些其他变体(例如data='login=admin&password=adminpassword',以模仿wget中的变体) - 相同的结果。

服务器端日志也无济于事:

10.0.1.2 - - [28/Jan/2014:07:13:00 GMT] "POST /login HTTP/1.1" 500
                 178 "-" "python-requests/2.0.0 CPython/2.7.6 Linux/3.10-2-amd64"

传递此POST正文的正确方法是什么?

0 个答案:

没有答案