我有一个正在尝试调用的 REST 服务。它需要类似于以下语法的内容:
http://someServerName:8080/projectName/service/serviceName/
param1Name/param1/param2Name/param2
我必须使用 POST 连接到它。我试过在线阅读它(例如 here 和 here)...但这是我的问题:
如果我尝试使用 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/