加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

使用Python调用REST服务

发布时间:2020-12-20 11:15:06 所属栏目:Python 来源:网络整理
导读:我有一个我想要调用的REST服务.它需要类似于以下语法的东西: http://someServerName:8080/projectName/service/serviceName/ param1Name/param1/param2Name/param2 我必须使用POST连接到它.我已经尝试在线阅读(例如here和here)……但这是我的问题: 如果我
我有一个我想要调用的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错误以及消息请求的资源()不可用.当我调试这个时,似乎是将params构建成一个查询字符串(“param1 = whatever& param2 = whatever”……)

我如何使用POST但是按预期传递由斜杠分隔的参数?我究竟做错了什么?

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读