繁体   English   中英

如何请求已在 python-requests 中进行 URL 编码的 URL?

[英]How can I request a URL that is already URL-encoded in python-requests?

我正在尝试请求以下 URL:

https://www.sainsburys.co.uk/shop/gb/groceries/shiraz/barossa-valley-estate-grenache-shiraz-mourv%C3%A8dre-75cl

用 urllib 解码并打印它显示它是:

In [36]: print urllib.unquote(url)
https://www.sainsburys.co.uk/shop/gb/groceries/shiraz/barossa-valley-estate-grenache-shiraz-mourvèdre-75cl

即重音“e”。

但似乎无论我对import requests; requests.get(...)什么import requests; requests.get(...) import requests; requests.get(...)然后我得到一个 404。

给 get 方法的正确输入是什么?

在将 url 传递给 urrlib unquote 后,您应该使用 'latin-1' 对其进行解码

>>> 
>>> k = "https://www.sainsburys.co.uk/shop/gb/groceries/shiraz/barossa-valley-estate-grenache-shiraz-mourv%C3%A8dre-75cl"
>>> r = requests.get(urllib.unquote(k).decode("latin-1"))
>>> r.status_code
200
>>> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM