Urllib не работает с запросом APIPython

Программы на Python
Ответить
Anonymous
 Urllib не работает с запросом API

Сообщение Anonymous »

Я пытаюсь написать этот код, где я прошу эту информацию у OpenWeatherMap.org Thourgh API и пытаюсь распечатать температуру и местоположение в текущее время. < /p>

Большая часть кода является любезной сочетанием советов, которые я мог бы найти в Интернете. < /p>

Теперь я получаю эту ошибку и застрял. Может ли кто -нибудь помочь мне снова на правильном пути?

Код: Выделить всё

import urllib.request, urllib.parse, urllib.error
import json

while True:
zipcode = input('Enter zipcode: ')
if len(zipcode) < 1: break

url = 'http://api.openweathermap.org/data/2.5/weather?
zip='+zipcode+',nl&appid=db071ece9a338a36e9d7a660ec4f0e37?'

print('Retrieving', url)
uh = urllib.request.urlopen(url)
data = uh.read().decode()
print('Retrieved', len(data), 'characters')

try:
js = json.loads(data)
except:
js = None

temp = js["main"]["temp"]
loc = js["name"]

print("temperatuur:", temp)
print("locatie:", loc)
Итак, URL-адрес такой: http://api.openweathermap.org/data/2.5/ ... 60ec4f0e37

Я получаю следующую ошибку:


Введите почтовый индекс: 3343
Получение http://api.openweathermap.org/data/2.5/ ... 60ec4f0e37?
Traceback (последний вызов последний):
Файл "weatherapi2.py", строка 12, в
uh = urllib.request.urlopen(url)
Файл "C:\Users\ErfanNariman\AppData\Local\Programs\Python\Python36\lib\urllib \request.py", строка 223, в urlopen
return opener.open(url, data, timeout)
Файл «C:\Users\ErfanNariman\AppData\Local\Programs\Python\Python36\lib\urllib\request.py», строка 532, в open
ответ = meth(req, ответ )
Файл «C:\Users\ErfanNariman\AppData\Local\Programs\Python\Python36\lib\urllib\request.py», строка 642, в http_response
'http', запрос, ответ, код, сообщение, hdrs)
Файл "C:\Users\ErfanNariman\AppData\Local\Programs\Python\Python36\lib\urllib\request.py", строка 570, ошибка
return self._call_chain(*args)
Файл «C:\Users\ErfanNariman\AppData\Local\Programs\Python\Python36\lib\urllib\request.py», строка 504, в _call_chain
result = func(*args)
File «C:\Users\ErfanNariman\AppData\Local\Programs\Python\Python36\lib\urllib\request.py», строка 650, в http_error_default
поднять HTTPError(req.full_url, code, msg, hdrs, fp )
urllib.error.HTTPError: Ошибка HTTP 401: Несанкционировано


Подробнее здесь: https://stackoverflow.com/questions/479 ... pi-request
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»