我很好奇,为什么运行此行时会出现 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(使用前将#替换为@)