2017-10-03 2 views
0

bugzilla rest API에서 DB로 버그를 가져 오려고합니다. 내 코드는 아래와 같습니다. 나는이 때Python을 사용하여 bugzilla에서 버그 가져 오기

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

aroung을 파킹 한 후 https://resttesttest.com/ 대답을 찾았습니다. Bugzilla API는 API-KEY만으로 인증받을 수 있습니다. 그래서 나는 params dict에서 username과 password를 삭제했다. URL을 연결하는 데 오류가있는 것 같습니다. 방금 "https://bugzilla.mozilla.org/rest/bug/35"을 사용하여 bug_id 35에 대한 버그 보고서를 얻었습니다. json.load (resp.text)는 버그 보고서의 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)) 
관련 문제