我正在尝试从bugzilla rest API获取bug。我的代码如下。
import requests
import json
URL = "https://bugzilla.mozilla.org/rest/"
API_KEY = "key"
headers = {"Content-type": "application/json"}
params = {
"username": "email",
"password": "password",
"apikey": API_KEY,
}
# r = requests.get(URL + 'login/', headers = headers, params = params)
# print(r)
resp = requests.post(URL + "bug/" , headers = headers, params = params)
if resp.status_code != 200:
print('error: ' + str(resp.status_code))
else:
print('Success')
print(resp)
当我尝试这个时,我得到了响应404.
有人请指引我走正确的道路。
答案 0 :(得分:0)
经过追赶https://resttesttest.com/后,我找到了答案。 Bugzilla API只能通过API-KEY进行身份验证。所以我从params dict中删除了用户名和密码。似乎我在连接URL时也有错误。我只是用“https://bugzilla.mozilla.org/rest/bug/35”来获取bug_id 35的bug报告。然后json.load(resp.text)给出了bug报告的json对象。最终代码如下所示。
import requests
import json
URL = "https://bugzilla.mozilla.org/rest/bug/35"
API_KEY = "key"
headers = {"Content-type": "application/json"}
params = {
"apikey": API_KEY,
}
resp = requests.get(URL , headers = headers, params = params)
if resp.status_code != 200:
print('error: ' + str(resp.status_code))
else:
print('Success')
print(json.loads(resp.text))