我在尝试将 Python REST POST 发布到在 Glassfish 上运行的 Web 服务时遇到了困难。我已经验证 POST 使用 CURL 可以正常工作,但使用 Python 没有运气。
这是可以正常工作的 CURL 请求。
curl -X POST -H "Content-Type: application/json" -d '{"id":1,"lastname":"smith"}'
http://192.168.0.20:8080/field1/resources/com.field1entity.field1
这是发出 POST 请求的 Python 代码
import urllib
import httplib2
def call():
http = httplib2.Http()
url = 'http://192.168.0.20:8080/field1/resources/com.field1entity.field1'
params = urllib.urlencode({"id":11111,"lastname":"oojamalip"})
response, content = http.request(url, 'POST', params, headers={'Content-type':'application/json'})
print "lets stop here to have a looksy at the variables"
print content
if __name__ == '__main__':
namesPage = call()
print namesPage
控制台输出,
意外字符('l'(代码 108)):在 [来源:org.apache.catalina.connector.CoyoteInputStream @18f494d;行:1,列:2]
希望有人能对这个问题有所了解。
谢谢尼克