2008-11-26 10 views
2

J'ai récemment écrit ceci avec l'aide de SO. Maintenant, quelqu'un pourrait-il me dire comment le faire se connecter au tableau? Il apporte tout juste dans un format non connecté.urllib2 envoi de données

import urllib2, re 
import urllib, re 
logindata = urllib.urlencode({'username': 'x', 'password': 'y'}) 
page = urllib2.urlopen("http://www.woarl.com/board/index.php", logindata) 
pagesource = page.read() 
print pagesource 
+0

Quel est le statut qui revient avec la page? L'objet page est plutôt complexe et possède des codes d'état et des en-têtes. Quels sont ces? –

Répondre

4

Quelqu'un a récemment demandé the same question you're asking. Si vous lisez les réponses à cette question, vous verrez des exemples de code vous indiquant comment rester connecté tout en parcourant un site dans un script Python en utilisant uniquement des éléments de la bibliothèque standard.

La réponse acceptée peut ne pas vous être aussi utile que this other answer, étant donné que la réponse acceptée concerne un problème spécifique impliquant une redirection. Cependant, je recommande de lire toutes les réponses indépendamment.

3

Vous souhaitez probablement protéger les cookies du serveur.

Pycurl ou Mechanize fera autant plus facile pour vous

0

Vous souhaitez probablement créer un programme d'ouverture avec ces gestionnaires et l'appliquer à urllib2. Avec ces applications, vos cookies sont traités et vous serez redirigé, si le serveur décide qu'il veut vous voir ailleurs.

# Create handlers 
cookieHandler = urllib2.HTTPCookieProcessor() # Needed for cookie handling 
redirectionHandler = urllib2.HTTPRedirectHandler() # needed for redirection (not needed for javascript redirect?) 

# Create opener 
opener = urllib2.build_opener(cookieHandler,redirectionHandler) 

# Install the opener 
urllib2.install_opener(opener)