我尝试使用python请求发送GET请求。但是,我发现由request.get()形成的url不跟随文档。
下面是一个示例:
import requests
root_web_address = 'http://www.amazon.com'
action_address = '/s/ref=nb_sb_noss'
get_url = root_web_address + action_address
input_1_value_unicode = unicode('search-alias=aps', 'utf-8')
input_2_value_unicode = unicode('asics', 'utf-8')
get_parameters = {'url':input_1_value_unicode, 'field-keywords':input_2_value_unicode}
r = requests.get(get_url, params = get_parameters)
print r.url预期的URL应该是:
http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=asics然而,打印r.url给了我:
http://www.amazon.com/s?ie=UTF8&page=1&rh=i%3Aaps%2Ck%3Aasics为什么?
发布于 2015-09-14 07:40:58
这里的requests.get实际上是301号重定向。响应对象的url属性包含最后一个重定向的url,因此将打印url。
对于中间网址你可以做-
print r.history[0].url对于发送请求时使用的url,你应该做-
print r.request.url请查看以下文档以获得更多信息-
https://stackoverflow.com/questions/32559406
复制相似问题