【发布时间】:2014-08-21 00:28:41
【问题描述】:
我正在尝试从托管在 Windows IIS 服务器上的 REST Web 服务检索数据;服务器使用 HTTPS 并且需要身份验证。
以下 Curl 命令可以正常工作:
curl -k --ntlm --user bob https://mywebservice
但是,当我将它翻译成等效的 pycurl 以便我可以在程序中使用它时,我正在努力让它进行身份验证。
到目前为止,我有:
import pycurl
name='bob'
pwd='pwd1'
url="https://mywebservice"
curl = pycurl.Curl()
curl.setopt(pycurl.URL, url)
curl.setopt(pycurl.SSL_VERIFYPEER, 0)
#not sure about this
#curl.setopt(pycurl.PROXYAUTH, pycurl.HTTPAUTH_NTLM)
#curl.setopt(pycurl.PROXYUSERPWD,"{}:{}".format(name, pwd))
curl.setopt(pycurl.HTTPAUTH, pycurl.HTTPAUTH_NTLM)
curl.setopt(pycurl.USERNAME, name)
curl.setopt(pycurl.USERPWD, pwd)
curl.perform()
curl.close()
无论如何,使用以下代码及其变体,我不断得到:
401 - Unauthorized: Access is denied due to invalid credentials
从 IIS 返回。
【问题讨论】: