python请求.get形成正确的u形

2024-04-26 10:54:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用python请求发送GET请求。但是,我找到了请求.get()未遵循文档。在

下面是一个例子:

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应为:

^{pr2}$

但是,print r.url给了我:

http://www.amazon.com/s?ie=UTF8&page=1&rh=i%3Aaps%2Ck%3Aasics

为什么?在


Tags: comwebhttpurlamazoninputgetvalue
1条回答
网友
1楼 · 发布于 2024-04-26 10:54:54

这里的requests.get实际上是301重定向。并且response对象的url属性包含上一次重定向的url,因此将打印url。在

对于中间url,您可以-

print r.history[0].url

对于发送请求时使用的url,您应该执行-

^{pr2}$

有关详细信息,请参阅以下文档-

  1. Requests QuickStart
  2. requests.Response.url
  3. requests.Response.history
  4. requests.request.url

相关问题 更多 >