【发布时间】:2020-11-07 08:43:36
【问题描述】:
我在 python3 上遇到 urllib 问题,我不知道如何解决。 这是我的代码:
import urllib.request
hdr = { 'User-Agent' : 'super happy flair bot by /u/spladug' }
req = urllib.request.Request(url,headers=hdr)
data = urllib.request.urlopen(req,timeout=10).read()
return data
我尝试过的东西:
- 更改用户代理
- 添加和删除超时
- 卷曲这些网站
但仍有一些网站(以 http://xxx.xxx/aaa.png 或 .jpg 之类的图像文件扩展名结尾)我无法得到回复, 如果我设置超时,我会收到 TimeOutError。但如果我在 chrome 中打开同一个站点,一切正常。 有人有任何解决方案或面临问题吗?
网站示例 - https://sgfm.elcorteingles.es/SGFM/dctm/MEDIA03/202006/24/00117731276964____5__210x210.jpg
【问题讨论】:
-
如果没有至少一个导致问题的 URL 示例,任何人都很难解决此问题。尝试将代码问题发布为可重现的示例:stackoverflow.com/help/minimal-reproducible-example
-
@CrazyChunky 哎呀,忘了添加站点示例sgfm.elcorteingles.es/SGFM/dctm/MEDIA03/202006/24/…
-
获取此消息
-
我没有解决方案,但是要添加到“不起作用”堆中的东西:复制 Chrome 成功访问 URL 时发送的整组标头,检查是否有重定向正在进行(没有),并运行
curl和-k以防万一出现某种 SSL 错误。 (也尝试requests,虽然我看到你在对安德烈的回答的赞扬中提到了这一点。)我不知道为什么它不起作用,但如果你编辑你的问题,更详细地了解什么是 not 工作,它可能有助于吸引正确的人的眼睛。