我正在使用python的请求库并发出这样的请求
r = requests.get(solrShard1, params = solrParams)
现在我想获取请求库正在创建的确切URL。我尝试过使用
req = requests.Request('POST',solrShard1, params = solrParams)
prepared = req.prepare()
print >>sys.stderr, "REQUEST START"
print >>sys.stderr, req.url
print >>sys.stderr, "REQUEST END"
但它只打印网址而不是确切的网址以及参数和所有内容。我怎样才能获得确切的网址
答案 0 :(得分:0)
您正在显示来自请求对象的网址,而不是已准备好的对象。
对prepare
方法的调用不会改变对象本身,而是返回准备好的对象,您已经将其分配给prepared
变量,但是您没有在任何地方使用它。
只需更改以下代码即可:
print >>sys.stderr, "REQUEST START"
print >>sys.stderr, prepared.url
print >>sys.stderr, "REQUEST END"
我尝试了下面的代码,它对我来说很好用:
req = requests.Request('POST', 'http://google.com', params={'param1': 10})
prep = req.prepare()
print(prep.url)
>> 'http://google.com/?param1=10'
答案 1 :(得分:0)
您正在发送POST请求。在POST请求中,您在URL中没有任何参数,但在请求正文中。
尝试使用以下方式打印请求正文:
print(prepared.data)