所以我最近偶然发现了这个用Python处理HTTP请求的很棒的库;在这里找到http://docs.python-requests.org/en/latest/index.html。

我喜欢使用它,但我不知道如何向我的get请求添加头文件。帮助吗?

Python请求模块简单而优雅,但有一件事让我感到困扰。 有可能得到一个requests.exception.ConnectionError的消息,像这样:

Max retries exceeded with url: ...

这意味着请求可以多次尝试访问数据。但是在任何文件中都没有提到这种可能性。查看源代码,我没有找到任何可以更改默认值(假设为0)的地方。

那么是否有可能设置请求的最大重试次数呢?

我正在收集网站列表上的统计数据,为了简单起见,我正在使用请求。这是我的代码:

data=[]
websites=['http://google.com', 'http://bbc.co.uk']
for w in websites:
    r= requests.get(w, verify=False)
    data.append( (r.url, len(r.content), r.elapsed.total_seconds(), str([(l.status_code, l.url) for l in r.history]), str(r.headers.items()), str(r.cookies.items())) )
 

现在,我想要请求。10秒后进入超时,这样循环就不会卡住。

这个问题以前也很有趣,但没有一个答案是干净的。

我听说可能不使用请求是一个好主意,但我应该如何得到请求提供的好东西(元组中的那些)。

在使用请求模块时,是否有办法打印原始HTTP请求?

我不仅仅需要标题,我还需要请求行、标题和内容打印输出。是否有可能看到最终从HTTP请求构造什么?

我想在使用Python请求请求网页时为“用户代理”发送一个值。我不确定是否可以将此作为头的一部分发送,如下面的代码所示:

debug = {'verbose': sys.stderr}
user_agent = {'User-agent': 'Mozilla/5.0'}
response  = requests.get(url, headers = user_agent, config=debug)

调试信息没有显示在请求期间发送的标头。

在报头中发送此信息是否可以接受?如果没有,我要怎么发送?

我正在使用Requests: HTTP for Humans库,我得到了这个奇怪的错误,我不知道这是什么意思。

No connection adapters were found for '192.168.1.61:8080/api/call'

有人知道吗?

如何在python中发送多部分/表单数据请求?怎么发文件,我懂,但是怎么用这种方法发表单数据就不懂了。

在我的情况下,我使用请求库调用贝宝的API通过HTTPS。不幸的是,我从贝宝得到一个错误,贝宝支持无法找出错误是什么或什么原因造成的。他们想让我“请提供整个请求,包括标题”。

我该怎么做呢?

我使用python请求模块发送一个RESTful GET到服务器,为此我得到一个JSON响应。JSON响应基本上只是一个列表的列表。

什么是最好的方法来强制响应本机Python对象,以便我可以迭代或打印它使用pprint?

默认情况下,Requests python库将日志消息写入控制台,如下所示:

Starting new HTTP connection (1): example.com
http://example.com:80 "GET / HTTP/1.1" 200 606

我通常对这些消息不感兴趣,并希望禁用它们。什么是沉默这些消息或减少请求的冗长的最好方法?