2016-09-16 4 views
0

Discordのボットで作業していたdiscord.py(関連していない)と私はそれを解釈できるようにサーバーから引き出しようとしていますが、BAD REQUEST 400、JSONにアクセスしようとしたとき

BAD REQUEST

400実際にサーバからプルしようとしています。私はそれをJSONとして指定するヘッダーを追加しようとしましたが、うまくいきません。

await bot.say("Fetching data") 
headers = {"Content-type": "application/json"} 
url = 'http://jisho.org/api/v1/search/words?keyword=boushi' 
response = requests.get(url, headers=headers).json() 
await bot.say(response) 

bot.sayは、私に出力を繰り返すだけです。

+1

シンプル 'requests.get(URL).json()'私のためだけで正常に動作します。 – niemmi

+0

このURLにこのファイルが存在し、OKと表示されていますか?ブラウザに入れたら何が起こるのですか?それは200をロードする? –

+0

@niemmiは、これを試してみましたbot.sayで配置し、それでも – Jakeoid

答えて

2

あなたが最初の悪い要求に対してSTATUS_CODEを確認したい場合には、私は、リクエストの終了時)(.json使用することはありません。

response = requests.get(url, headers=headers) 
if response.status_code == 200: 
    print response.content 

そして、あなたは辞書で何かをしたい場合は、(json.loadsを使用することができます)

foo = json.loads(response.content) 
+0

ご協力いただきありがとうございます!これはかなりうまくいっていて、一部のデータは現在応答していますが、日本語の文字を正しく表示することができません。どうすればいいですか? – Jakeoid

+0

dictをループし、日本語の文字をutf-8 でエンコードする必要があります。 u '\ u307c \ u3046 \ u3057'.encode(' utf8 ')を印刷する – enjoi

関連する問題