为什么 urllib2.urlopen 无法打开“http://localhost/new-post#comment-29”这样的页面?

2024-01-09

我很好奇,为什么运行此行时会出现 404 错误:

urllib2.urlopen("http://localhost/new-post#comment-29")

虽然一切正常冲浪http://localhost/new-post#comment-29 http://localhost/new-post#comment-29在任何浏览器中...

urlopen方法不解析带有“#”的url?

有人知道吗?


在HTTP协议中,片段(来自#开始)不会通过网络发送到服务器:它由浏览器在本地保留并使用,一旦完全收到服务器的响应,以某种方式“直观地定位”页面中要显示为“当前”的确切位置(例如例如,如果返回的页面是 HTML 格式,则将通过解析 HTML 并查找第一个合适的页面来完成<a> flag).

因此,过程是:删除片段,例如通过urlparse.urlparse;使用其余部分来获取资源;根据服务器响应的内容类型标头适当地解析它;然后,基于在解析的资源中定位您在第一步中保留的片段,采取程序对资源上的“当前位置”执行的任何视觉操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 urllib2.urlopen 无法打开“http://localhost/new-post#comment-29”这样的页面? 的相关文章

随机推荐