Vous recherchez de l'aide pour intégrer un appel d'API JSON dans un programme Python.
Je cherche à intégrer l’API suivante dans un programme Python .py) pour lui permettre d’être appelée et d’imprimer la réponse.
Les instructions de l'API indiquent qu'un jeton de support doit être généré pour permettre les appels à l'API, ce que j'ai fait avec succès. Cependant, je ne suis pas sûr de la syntaxe pour inclure ce jeton en tant qu'authentification de jeton de support dans Python.
Je peux mener à bien la demande ci-dessus en utilisant cURL avec un jeton inclus. J'ai essayé les itinéraires "urllib" et "demandes" mais en vain.
Détails complets de l'API: Documentation de l'API IBM X-Force Exchange - Réputation IP
Cela signifie simplement qu'il s'attend à ce que comme clé dans vos données d'en-tête
import requests
endpoint = ".../api/ip"
data = {"ip": "1.1.2.3"}
headers = {"Authorization": "Bearer MYREALLYLONGTOKENIGOT"}
print(requests.post(endpoint, data=data, headers=headers).json())
Le jeton doit être placé dans un en-tête d'autorisation selon le format suivant:
Autorisation: porteur [Token_Value]
import urllib2
import json
def get_auth_token()
'''
get an auth token
'''
req=urllib2.Request("https://xforce-api.mybluemix.net/auth/anonymousToken")
response=urllib2.urlopen(req)
html=response.read()
json_obj=json.loads(html)
token_string=json_obj["token"].encode("ascii","ignore")
return token_string
def get_response_json_object(url, auth_token)
'''
returns json object with info
'''
auth_token=get_auth_token()
req=urllib2.Request(url, None, {"Authorization": "Bearer %s" %auth_token})
response=urllib2.urlopen(req)
html=response.read()
json_obj=json.loads(html)
return json_obj