了解python请求会话参数

了解python请求会话参数,python,twitter,Python,Twitter,我正在尝试twitter api,我正在使用tweepy api来理解api设计。。。对于这个特殊的参数,让我们来看一下这个api 一个示例rest请求如下所示 所以,我不想构建url字符串 我正试图深入研究代码 更具体地说 s = requests.Session() 然后使用build\u parameters()函数设置参数 在代码中,他们从不显式地构建url 在执行\u code()中, 如果我打印完整的url,那就是(https://api.twitter.com/1.1/users

我正在尝试twitter api,我正在使用tweepy api来理解api设计。。。对于这个特殊的参数,让我们来看一下这个api

一个示例rest请求如下所示

所以,我不想构建url字符串

我正试图深入研究代码

更具体地说

s = requests.Session()
然后使用
build\u parameters()
函数设置参数

在代码中,他们从不显式地构建url

执行\u code()
中, 如果我打印完整的url,那就是
(https://api.twitter.com/1.1/users/show.json)

我猜在build_参数self.session.params中设置变量,然后第156行是所有操作发生的地方

resp = self.session.request(self.method, full_url,
                                                data=self.post_data, timeout=self.api.timeout,
                                                auth=auth, proxies=self.api.proxy)
但出于调试目的,我真的想知道正在执行什么“字符串url”。我怎么才能得到那个“字符串”?或者我还没有完全理解代码

长话短说


我想向twitter api发出请求,但我不想“构建”字符串…而是使用这个sessions参数来处理它,但同时,最终我想打印被“请求”的字符串?

使用简单的ctrl-F,我能够在第113行和第114行找到构建
完整url
的位置

url = self.api_root + self.path
full_url = 'https://' + self.host + url
这就是你要找的吗?
使用相同的方法,您可以在定义了
self.api\u root
self.path
的位置进行搜索。

您要查找的完整url位于从请求返回的响应对象中:

resp = self.session.request(self.method, full_url,
                                                data=self.post_data, timeout=self.api.timeout,
                                                auth=auth, proxies=self.api.proxy)
print resp.url # This is the url you want

我不知道这是否真的对你有用。您是否仍在使用tweepy(并且不更改tweepy)时尝试获取该url?或者你只是在看tweepy来了解如何与Twitter的API交互?

这不是完整的url。。它是基本url。。然后在build_参数中设置参数。。并在self.session.params中设置。您想知道“users/show.json”添加到url的位置吗?它作为参数传递给bind_api方法。如果查看api.py第254-262行,“users/show.json”作为“path”参数传递给bind_api(),第113行和第114行是使用path的地方。