私のPYCURLリクエストに問題があります。 サーバー上の私のJSONファイルはUTF-8でエンコードされ、次のようになりさ:PYCURLがutf-8エンコーディングの問題を持つjsonファイルを取得します
{
"address" : "123 rue de Labège"
}
私はこのJSONを取得するためにPYCURLを使用して、自分のコンピュータ上の新しいファイルにコピーします。 私は、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リクエストを使ってコードエンコードした文書を直接取得する方法はわかりません。 – kidz55
それはものです。ドキュメントはすでに適切なエンコーディングになっています。あなたは何をしようとしていますか、どこが間違っているのを見ていますか? –
私は理解しています!特殊文字はjsonファイルでエンコードされますが、ユーザーにとっては透明です。ありがとうございます – kidz55