python - 使用 Python 调用 REST 服务

标签 python web-services rest post

我有一个正在尝试调用的 REST 服务。它需要类似于以下语法的内容:

http://someServerName:8080/projectName/service/serviceName/
      param1Name/param1/param2Name/param2

我必须使用 POST 连接到它。我试过在线阅读它(例如 herehere)...但这是我的问题:

如果我尝试使用 HTTP get 请求方法,通过构建我自己的路径,如下所示:

BASE_PATH = "http://someServerName:8080/projectName/service/serviceName/"
urllib.urlopen(BASE_PATH + "param1/" + param1 + "/param2/" + param2)

它给我一个错误,说不允许 GET。

如果我尝试使用 HTTP post 请求方法,如下所示:

params = { "param1" : param1, "param2" : param2 }
urllib.urlopen(BASE_PATH, urllib.urlencode(params))

它返回 404 错误以及消息 The requested resource () is not available. 当我调试它时,它似乎将参数构建到查询字符串中(“param1=whatever¶m2 =随便"...)

我怎样才能使用 POST 但按预期传递由斜杠分隔的参数?我做错了什么?

最佳答案

我知道这有点不公平,但这就是最终发生的事情......负责 REST 服务的程序员将其更改为使用 &key=value 语法。

关于python - 使用 Python 调用 REST 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3579012/

相关文章:

python - 寻找最接近给定值的路径旅行成本

asp.net - Server.Transfer 后出现 "Unknown web method"错误

java - 为什么我的 swagger 不能在 java 中使用 springboot?

java - Java 中 Microsoft Translation 的 400 响应代码

python - 如何使用 PyQt 更新 QGraphicsView 中的 QPixmap

python - 试图查看变量是否包含在 django 的列表中

python - Django 1.4 - 带有列表的 bulk_create

web-services - Scala 相当于 wsdl2java?

java - 在 Spring 中解析复杂的 JSON 请求

java - 如何在 Cucumber 步骤实现中 @Autowire REST 服务类(Spring boot)?