2017-02-18 17 views
0

からJSONレスポンスの取得私は現在、それほどのようなサーバに掲示しています:は、POSTリクエストのPython

req = urllib2.Request('http://xxx.xxx.xx.xx/upload/') 
req.add_header('Content-Type', 'application/json') 
response = urllib2.urlopen(req, json_string) 
print(response.getcode()) 

私は、サーバーが返送されたJSONを読みたいが、私は戻って200のコードを取得します。これはどうすればいいですか? (リクエストライブラリを使用しないようにする)

+0

にかかわらず、個別にインストールする必要があります: //docs.python.org/2/library/urllib2.html#urllib2.urlopen):getcode() - レスポンスのHTTPステータスコードを返します。 –

答えて

0

私はURLを持っていないので、コードを取得できませんでした。 試してみてください。

req = urllib2.Request('http://xxx.xxx.xx.xx/upload/') 
req.add_header('Content-Type', 'application/json') 
response = urllib2.urlopen(req, json_string) 
print(response.read()) 
0

応答ではないあなたがjsonライブラリ

import json 
req = urllib2.Request('http://xxx.xxx.xx.xx/upload/') 
req.add_header('Content-Type', 'application/json') 
response = urllib2.urlopen(req, json_string) 
json_response = json.loads(response.read().decode('ascii')) 

を持つ応答を解析するために必要なだけのjsonシリアライズされた文字列から実際のjsonオブジェクトを取得するにはエンコードがあってもよいutf-8に応じて、サーバーがあなたに戻ってきたもの。あなたは私がはるかに簡単と対話するために見つけるrequestsライブラリを使用することができ

代わりに、[ドキュメント](HTTPSからpip install requests

import requests, json 
response = requests.post('http://xxx.xxx.xx.xx/upload', data={'data': json_string}) 
if response.ok: 
    response_json = response.json() 
else: 
    print('Something went wrong, server sent code {}'.format(response.status_code)) 

requests library docs