php - 为什么 Web 服务中的尾部斜杠如此重要?

标签 php python wsdl soappy

我正在用 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 文件夹中的文件 webservicehttp://my.domain.com/my/webservice/ 表示 my/webservice 文件夹中的默认文档。

许多网络服务器会自动更正此类 URL,但它们并非必须这样做。

关于php - 为什么 Web 服务中的尾部斜杠如此重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1188927/

相关文章:

php - 为什么 orientDB 连接到 docker 的 localhost 被拒绝

ios - 使用 SOAP 网络服务时出现 "No Action header was found"错误消息

java - 从通用 SOAP 请求实现 ResultSet 接口(interface)

php - 包含数据库值和用户输入的表

php - 如何在php中从mysql数据库传递值

php - 是否可以在依赖案例之间调用 tearDown 和 setUp 的情况下使用 PHPUnit @depends?

python - 错误值Error : cannot reindex from a duplicate axis because of concatenating dataframes

python - Pandas 类型错误: object of type 'float' has no len()

python - 使 Django 开发服务器更快地服务于静态媒体

c++ - Onvif - 获取放大倍数