Python 中的错误请求

Bad Request in Python

当我 运行 下面的程序从 openweathermap 获取天气请求时,我得到一个 400 状态代码。有谁知道我如何获得工作状态代码和天气。

import requests

city = input("What is the name of the city?: ")
output = (requests.get("http://api.openweathermap.org/data/2.5/weather?q=" + "&appid=*************"))
print(output)

首先,您没有在 url 中包含城市,这就是它返回错误响应的原因。

其次,这可能不适用于有空间的城市,例如纽约。

尝试像这样编码 url

import requests
import urllib.parse

city = input("What is the name of the city?: ")
param = {'q': city, 'appid': 'YourAppID'}

url = urllib.parse.urljoin \
    ("http://api.openweathermap.org/data/2.5/weather",
     urllib.parse.urlencode(param)
     )

output = (requests.get(url))
print(output)

也许这会有所帮助

import requests

city = input("What is the name of the city?: ")
url= "http://api.openweathermap.org/data/2.5/weather?q={city}&appid=*************".format(city=city)
response = requests.get(url)
print(response)