Python 如何在Pycurl中设置HTTP_版本以与Mindtouch CURL接口一起使用

Python 如何在Pycurl中设置HTTP_版本以与Mindtouch CURL接口一起使用,python,pycurl,mindtouch,Python,Pycurl,Mindtouch,我正在尝试使用Python访问Mindtouch Wiki。我正试图使用pycurl来实现这一点,因为稀疏的Mindtouch文档确实给出了CURL命令行示例。通过反复试验,我发现该操作需要将--http1.0选项放在CURL命令行中才能成功。但是,我还没有发现如何在pycurl中设置此选项 我得到的是: c.setopt(c.HTTP_VERSION_1_0, True) AttributeError: trying to obtain a non-existing attribute 在命

我正在尝试使用Python访问Mindtouch Wiki。我正试图使用pycurl来实现这一点,因为稀疏的Mindtouch文档确实给出了CURL命令行示例。通过反复试验,我发现该操作需要将--http1.0选项放在CURL命令行中才能成功。但是,我还没有发现如何在pycurl中设置此选项

我得到的是:

c.setopt(c.HTTP_VERSION_1_0, True)
AttributeError: trying to obtain a non-existing attribute
在命令行上使用CURL时,我使用手工编码的XML文件,并使用-T选项引用它。不过,以XML作为字符串开始会更容易。任何关于在pycurl中实现这一点的额外见解都将非常有用

或者,如果有比pycurl更好的方法,我很乐意听到它。

应该是:

c.setopt(pycurl.HTTP_VERSION, pycurl.CURL_HTTP_VERSION_1_0)

请参阅curl。

作为pycurl的替代方案,您可以尝试使用HTTP库

下面是一个获取特定页面的JSON输出的工作示例

import requests

api_url = "https://success.mindtouch.com/@api/deki/pages/1835/?dream.out.format=json"

response = requests.get(api_url)

print(response.json())
这将获得MindTouch文章的页面端点

您还可以包括凭据,如下所示:

import requests

api_url = "https://success.mindtouch.com/@api/deki/pages/1835/?dream.out.format=json"

creds = ("username", "password")
response = requests.get(api_url, auth=creds)

print(response.json())

谢谢你。我看了您链接到的文档,但这似乎是针对C库的。我猜您是直接设置类变量HTTP_VERSION,而不是实例化中的继承版本。