2010-07-28 6 views
5

comment et avec quelle librairie python est-il possible d'effectuer une requête http (https) avec un utilisateur: mot de passe ou un token?requête http python avec jeton

essentiellement l'équivalent de curl -u user:pwd https://www.mysite.com/

merci

Répondre

0

classe urllib2.HTTPSHandler Une classe pour gérer l'ouverture des URL HTTPS.

21.6.7. Objets HTTPPasswordMgr Ces méthodes sont disponibles sur les objets HTTPPasswordMgr et HTTPPasswordMgrWithDefaultRealm.

HTTPPasswordMgr.add_password (domaine, uri, utilisateur, mot de passe) L'uri peut être un seul URI ou une séquence d'URI. royaume, utilisateur et passwd doivent être des chaînes. Cela provoque (user, passwd) à être utilisé en tant que jetons d'authentification lorsque l'authentification pour le domaine et une super-URI de l'un des URI donné est donnée. HTTPPasswordMgr.find_user_password (realm, authuri) Récupère l'utilisateur/mot de passe pour le domaine et l'URI donnés, le cas échéant. Cette méthode retournera (Aucun, Aucun) s'il n'y a aucun utilisateur/mot de passe correspondant.

Pour les objets HTTPPasswordMgrWithDefaultRealm, le domaine None sera recherché si le domaine donné n'a pas d'utilisateur/mot de passe correspondant.

+0

... thats it – aschmid00

1

Si vous devez faire des demandes thread-safe, utilisez pycurl (l'interface python gondoler):

import pycurl 
from StringIO import StringIO 

response_buffer = StringIO() 
curl = pycurl.Curl() 

curl.setopt(curl.URL, "https://www.yoursite.com/") 

# Setup the base HTTP Authentication. 
curl.setopt(curl.USERPWD, '%s:%s' % ('youruser', 'yourpassword')) 

curl.setopt(curl.WRITEFUNCTION, response_buffer.write) 

curl.perform() 
curl.close() 

response_value = response_buffer.getvalue() 

Sinon, utilisez urllib2 (voir d'autres réponses pour plus d'informations) comme il est intégré et l'interface est beaucoup plus propre.

4

utilisation demandes python: Http pour les humains

import requests 

requests.get("https://www.mysite.com/", auth=('username','pwd')) 

vous pouvez également utiliser merci digérer auth ...

+0

oui, voilà comment il aurait toujours été! génial lib! – Rok

+0

demandes d'espoir seront ajoutées à python std lib à un moment donné – locojay

Questions connexes