hostname用户给定 a怎么能用URLright组合 ascheme呢?更重要的是,您如何确定是否www应该预先添加?例如: ryanair.comhttps://ryanair.com -> 504 Timeouthttps://www.ryanair.com -> 200 OKhttp://ryanair.com -> https://www.ryanair.comhttps://ryanair.com -> https://www.ryanair.com正确答案ryanair.com应该是https://www.ryanair.com。有没有人遇到过这个问题?
2 回答

慕尼黑5688855
TA贡献1848条经验 获得超2个赞
只需使用普通的 HTTP 请求请求 URL,然后查看重定向到的位置。并非所有站点都提供 HTTPS,但几乎所有站点都提供 HTTP(如果 HTTP 碰巧失败,您可能想使用 HTTPS 重试,但这种情况非常罕见)。您不能假设www.
存在子域,这是一个完全任意的、没有内在技术意义的遗留约定。

明月笑刀无情
TA贡献1828条经验 获得超4个赞
显然,如果不发出 HTTP 请求以查看它们所做的重定向,您就无法知道,直到您遇到 HTTP 200。
您应该先尝试 http:// 还是 https://,这取决于您要尝试做什么。如果抓取网站,前者,如果您打算在面向公众的网络服务中使用这些链接,则后者。
所以我会这样做:
使用 https:// 请求裸域(无 www)
如果失败或超时,则使用 http:// 请求裸域
如果失败重复上述步骤,但对于 www
注意大多数使用 www 的网站将从裸域重定向。仅限 HTTPS 的网站也会从 http:// 重定向到 https://。因此,您可以提出的最安全的请求是 no-www + http://,但我首先假设是 https,因为现在对 Web 进行加密是大势所趋。
添加回答
举报
0/150
提交
取消