我正在使用 Robot 框架来自动化一些与 HTTP POST 相关的测试。我编写了一个自定义 Python 库,该库具有执行 HTTP POST 的功能。它看起来像这样:
# This function will do a http post and return the json response
def Http_Post_using_python(json_dict,url):
post_data = json_dict.encode('utf-8')
headers = {}
headers['Content-Type'] = 'application/json'
h = httplib2.Http()
resp, content = h.request(url,'POST',post_data,headers)
return resp, content
只要我不使用任何 Unicode 字符,它就可以正常工作。当我在json_dict
变量中有 Unicode 字符(例如,메시지)时,它会失败并出现以下错误:
UnicodeDecodeError:“ascii”编解码器无法解码位置 164 中的字节 0xeb:序数不在范围内(128)
我在 Windows 7 上运行 Python 2.7.3。我看到了几个相关的问题,但我无法解决问题。我是 Python 和编程的新手,因此不胜感激。
谢谢。