28

我目前正在使用 python requests 包来发出 JSON 请求。不幸的是,我需要查询的服务有每日最大请求限制。没错,我缓存了执行的请求 url,所以如果我超过这个限制,我知道第二天从哪里继续。

r = requests.get('http://someurl.com', params=request_parameters)
log.append(r.url)

但是,为了第二天使用此日志,我需要在实际执行请求之前在我的程序中创建请求 url,以便我可以将它们与日志中的字符串进行匹配。否则,它会减少我的每日限额。你们中有人知道如何做到这一点吗?我在请求包中没有找到任何合适的方法。

4

1 回答 1

55

您可以使用 PreparedRequests。

要构建 URL,您可以构建自己的 Request 对象并准备它:

from requests import Session, Request

s = Session()
p = Request('GET', 'http://someurl.com', params=request_parameters).prepare()
log.append(p.url)

稍后,当您准备好发送时,您可以这样做:

r = s.send(p)

文档的相关部分在这里

于 2013-09-18T11:41:19.233 回答