我正在尝试使用twitter api进行实验,我正在使用tweepy api来理解api设计...对于这个特殊的论点,请看看这个api https://dev.twitter.com/docs/api/1.1/get/users/show
示例休息请求看起来像https://api.twitter.com/1.1/users/show.json?screen_name=rsarver
所以,我不想建立一个网址字符串..
我正在深入研究https://github.com/tweepy/tweepy/blob/master/tweepy/binder.py代码..
更具体。
s = requests.Session()
然后build_parameters()
函数设置参数......
在代码中,他们从不显式构建url
在execute_code()
中,
如果我print full_url
,则只是( https://api.twitter.com/1.1/users/show.json)
我在build_parameters,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)
但出于调试目的,我真的想知道" string url"正在执行。我如何得到#34;字符串"?或许我还没有完全理解代码。
长话短说。
我想向twitter api发出请求,但我不想" build" string ...而是使用这个sessions参数来处理它,但同时,最终我想打印正在被请求的字符串" ??
答案 0 :(得分:1)
您正在寻找的完整网址位于您从请求中返回的响应对象中:
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获取该URL(并且不会更改tweepy)?或者您只是在阅读tweepy以了解如何与Twitter的API进行交互?
答案 1 :(得分:0)
使用简单的ctrl-F,我能够在第113和114行找到full_url
的构造位置
url = self.api_root + self.path
full_url = 'https://' + self.host + url
这是你在找什么?
使用相同的方法,您可以搜索定义self.api_root
和self.path
的位置。