0

我正在尝试使用 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 更好的方法,我会很高兴听到它。

4

2 回答 2

1

它应该是:

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

参见 curl官方文档

于 2018-01-16T21:33:46.197 回答
0

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

这是一个获取特定页面的 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 的API 调用文章的页面端点。

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

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())
于 2018-05-16T21:10:13.247 回答