1
我遇到了我的PYCURL请求的问题。 在服务器上我的JSON文件被编码为UTF-8和看起来像这样:PYCURL得到一个UTF-8编码问题的json文件
{
"address" : "123 rue de Labège"
}
我用PYCURL得到这个JSON并将其复制到我的电脑上一个新的文件。 我使用Python 2.7,这里是我的PYCURL设置:
def setup(self, _url, _method, _login, _passwd, _path, *args, **kwargs):
self.curl = pycurl.Curl()
self.url = 'https://%s:%d/' % (self.ip, self.port) + _url
self.method = _method
self.userpwd = '%s:%s' % (_login, _passwd)
self.path = _path
self.curl.setopt(pycurl.URL, self.url)
curl_method = {
"GET": pycurl.HTTPGET,
"POST": pycurl.POST
}
if self.method in curl_method:
self.curl.setopt(curl_method[self.method], 1)
else:
self.curl.setopt(pycurl.CUSTOMREQUEST, self.method)
self.curl.setopt(pycurl.SSL_VERIFYPEER, 0)
self.curl.setopt(pycurl.SSL_VERIFYHOST, 0)
self.curl.setopt(pycurl.HTTPAUTH, pycurl.HTTPAUTH_BASIC)
self.curl.setopt(pycurl.USERPWD, self.userpwd)
if _url == 'MY_FILE_JSON':
filename = 'file.json'
self.file = open(self.path + filename, 'wb')
self.curl.setopt(pycurl.WRITEDATA, self.file)
的问题是我得到的文件中:
{
"address" : "123 rue de Lab\u00e8uge"
}
我不明白为什么PYCURL编码我的“E”进入\ u00e8。 有没有setopt与PYCURL强制它打印好字符的选项?
好吧我知道如何在脚本中打印好它,但我不知道如何直接使用pycurl请求获取带gode编码的文档。 – kidz55
看到就是这样;该文件已经在正确的编码。你想做什么,哪里出现问题? –
好吧,我明白了!这是如何在json文件中编码特殊字符,但对于用户而言,它是透明的。谢谢 – kidz55