我正在用 PHP 和 Python 测试网络服务。比方说,Web 服务的地址是 http://my.domain.com/my/webservice
。当我使用该 URL 在 PHP 中测试 Web 服务时,一切正常。但是,当我使用相同的位置但在 Python 中使用 SOAPpy 时,我得到了一个错误。
下面是我用来与网络服务通信的代码(Python):
from SOAPpy import WSDL
server = SOAPProxy('http://my.domain.com/my/webservice', namespace)
server.myFunction()
我从服务器得到的响应:
HTTPError: <HTTPError 301 Moved Permanently>
我发现如果我在 Web 服务位置添加尾部斜杠,它就可以工作!
from SOAPpy import WSDL
server = SOAPProxy('http://my.domain.com/my/webservice/', namespace)
server.myFunction()
为什么缺少尾部斜杠会导致错误?
最佳答案
它们是不同的 URL。 http://my.domain.com/my/webservice
表示 my
文件夹中的文件 webservice
。 http://my.domain.com/my/webservice/
表示 my/webservice 文件夹中的默认文档。
许多网络服务器会自动更正此类 URL,但它们并非必须这样做。
关于php - 为什么 Web 服务中的尾部斜杠如此重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1188927/