创建URL而不执行请求

And*_*ndy 17 python api urlencode python-requests

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

r = requests.get('http://someurl.com', params=request_parameters)
log.append(r.url)
Run Code Online (Sandbox Code Playgroud)

但是,为了使用这个日志,第二天我需要在实际执行请求之前在我的程序中创建请求URL,这样我就可以将它们与日志中的字符串进行匹配.否则,它会降低我的每日限额.你有谁知道怎么做?我在请求包中找不到任何适当的方法.

Luk*_*asa 31

您可以使用PreparedRequests.

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

from requests import Session, Request

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

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

r = s.send(p)
Run Code Online (Sandbox Code Playgroud)

文档的相关部分在这里.