17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

260<br />

La bibliothèque standard<br />

ftplib<br />

TROISIÈME PARTIE<br />

class Request(url[, data][, headers][, origin_req_host][, unverifiable])<br />

Request permet de regrouper des informations pour une requête à effectuer avec<br />

urlopen(). url est l’URL à ouvrir, data les éventuelles données annexes à transmettre,<br />

headers un dictionnaire contenant les en-têtes de la requête.<br />

origin_req_host et unverifiable permettent de gérer certains aspects de fonctionnement<br />

des cookies. origin_req_host définit le request-host à l’origine de la requête,<br />

qui sera utilisé par le serveur distant dans les cookies. Le request-host est le nom<br />

d’hôte racine de l’URL appelée. Il est par défaut obtenu par l’extraction de la racine<br />

d’url. unverifiable, par défaut à False, permet de spécifier si la requête n’est pas<br />

vérifiable. Une requête non vérifiable est une requête qui est déclenchée sans l’aval<br />

manuel de l’utilisateur. Par exemple, la requête qui récupère une image sur une page<br />

web est unverifiable.<br />

L’exemple ci-dessous accède à la page de gestion sécurisée d’un serveur web local<br />

Zope écoutant sur le port 8080.<br />

Accès avec authentification<br />

>>> import urllib2<br />

>>> handler = urllib2.HTTPBasicAuthHandler()<br />

>>> handler.add_password('Zope', 'localhost:8080', 'demo', 'demo')<br />

>>> opener = urllib2.build_opener(handler)<br />

>>> urllib2.install_opener(opener)<br />

>>> result = urllib2.urlopen('http://localhost:8080/manage')<br />

>>> for line in result.readlines():<br />

... print line[:-1]<br />

...<br />

<br />

<br />

<br />

Zope on http://localhost:8080<br />

...<br />

<br />

Le module ftplib fournit une classe FTP qui implémente un client ftp complet.<br />

Une session FTP est en général composée de ces étapes :<br />

connexion ;<br />

authentification ;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!