Python 如何在Pycurl中设置HTTP_版本以与Mindtouch CURL接口一起使用
我正在尝试使用Python访问Mindtouch Wiki。我正试图使用pycurl来实现这一点,因为稀疏的Mindtouch文档确实给出了CURL命令行示例。通过反复试验,我发现该操作需要将--http1.0选项放在CURL命令行中才能成功。但是,我还没有发现如何在pycurl中设置此选项 我得到的是: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 在命
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,而不是实例化中的继承版本。