使用请求获取网页在处理 Cloudflare 服务器时花费的时间太长,但在浏览器和 curl 中运行速度很快
Getting a webpage using requests is taking too long while dealing with Cloudflare server, but works quickly in browser and curl
我正在尝试使用 feedparser 阅读 rss 提要。但是当使用 requests
、feedparser
或 urlopen
时程序会卡住。我要获取的页面是 here (mangastream.com rss feed)
我可以在浏览器中查看它或在终端中使用 curl 获取它。
>>> import feedparser
>>> feed = feedparser.parse('http://mangastream.com/rss')
它不会超过第 2 行。
编辑 - 这可能是 cloudflare 服务器的问题吗? DoS/bot 某种保护?但它适用于卷曲。不在代理或任何东西后面。
Edit - 它以某种方式工作,但仍然需要很多时间(超过 2-3 分钟)。它与 curl 一起工作得更快。
这看起来像是我这边 Cloudflare 的问题,用 IP 地址替换主机名并将域名作为 host
header 是可行的。
>>> import requests
>>> requests.get("http://104.28.18.11/rss", headers={'host':'mangastream.com'})
<Response [200]>
我正在尝试使用 feedparser 阅读 rss 提要。但是当使用 requests
、feedparser
或 urlopen
时程序会卡住。我要获取的页面是 here (mangastream.com rss feed)
我可以在浏览器中查看它或在终端中使用 curl 获取它。
>>> import feedparser
>>> feed = feedparser.parse('http://mangastream.com/rss')
它不会超过第 2 行。
编辑 - 这可能是 cloudflare 服务器的问题吗? DoS/bot 某种保护?但它适用于卷曲。不在代理或任何东西后面。
Edit - 它以某种方式工作,但仍然需要很多时间(超过 2-3 分钟)。它与 curl 一起工作得更快。
这看起来像是我这边 Cloudflare 的问题,用 IP 地址替换主机名并将域名作为 host
header 是可行的。
>>> import requests
>>> requests.get("http://104.28.18.11/rss", headers={'host':'mangastream.com'})
<Response [200]>