2016-09-16 6 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) 

The bot.say просто повторив обратно ко мне выход.

+1

Простой 'requests.get (URL) .json()' отлично работает для меня. – niemmi

+0

И вы уверены, что этот файл существует на этом URL-адресе и отображается ОК? Что происходит, когда вы помещаете его в браузер? Он загружается с 200? –

+0

@niemmi попробовал это, конечно, это было то, что было размещено с ботом.say и все еще не ответил – Jakeoid

ответ

2

Я бы не использовал .json() в конце запроса, если вы хотите сначала проверить status_code для плохого запроса.

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

И если вы хотите сделать что-то с Dict вы можете использовать json.loads()

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

Благодарим за помощь! Это сработало довольно хорошо, и некоторые данные теперь отвечают, однако я не могу заставить японские символы отображаться правильно, как я могу это сделать? – Jakeoid

+0

Вам нужно будет прокрутить dict и закодировать японские символы с помощью utf-8 , например. print u '\ u307c \ u3046 \ u3057'.encode (' utf8 ') – enjoi

Смежные вопросы