我用的是python3urllib.request.urlopen()功能。在过去,它运作得很好。事实上,我几个月前在同一个程序中用过它,效果很好。但是现在,每当我尝试使用api在我的站点上发布时,服务器就会记录301个响应。当我使用响应.getcode()为了找到答案,它说是200。在
什么会导致这种差异?有没有其他方法来检查我的请求是否失败,或者有一种方法来调试它?我个人没有访问服务器的权限,但是我可以让管理员帮我检查一下。在
谢谢各位!在
编辑
我在wireshark中找到了HTTP请求。它发送一个POST请求,得到301(text/html),然后发送一个GET请求,得到200(application/json)。这是什么意思?我最初的请求是json(我使用urllib.request.urlopen(url,数据)。POST to http://sefaria.org/api/texts/Rashi_on_Berakhot.2a.1.1的第一个响应是:
301 Moved PermanentlyMoved Permanently
The document has moved here.
\nApache/2.4.6 (Ubuntu) Server at sefaria.org Port 80
该url的GET请求响应为200