Bonjour tout le monde,

Je ne programme en python que depuis 2/3 jours alors soyez indulgent.. Merci

Voilà mon problème... Je voudrais utiliser un serveur web tel que: http://free-proxy.us/ dans le but de souscrire une inscription sur un site. Je fais ça pour m’entraîner mais ne pas y arriver est vraiment très frustrant.

Voilà ce que j'ai fais pour tenter de passer par ce proxy dans un premier temps:


import urllib2, mechanize, urllib


##################### PASSAGE PAR PROXY POUR ATTEINDRE LA PAGE D'INSCRIPTION ####################

#Récupération des cookies à envoyer :
req = urllib2.Request("http://free-proxy.us/index.php")
req.add_header('User-Agent', UserAgent)
pageResult = urllib2.urlopen(req)
cookies = pageResult.info()['Set-Cookie']

#envois des cookies + post au formulaire pour atteindre la page d'inscription fb via le proxy
req = urllib2.Request("http://free-proxy.us/includes/1.php?action=viewdoc")
req.add_header('User-Agent', userAgent)
req.add_header('Cookie',cookies)
data = urllib.urlencode({"u": "adresseDuSite",
"encodeURL" : "on",
"allowCookies" : "on"})
data = data.encode('utf-8')
pageResult = urllib2.urlopen(req, data)
urlResult = pageResult.geturl()


Ce code fonctionne, ca me rend bien l'url à utiliser pour passer par le serveur proxy et accéder au site renseigné "adresseDuSite"

Le problème viens après lorsqu'à partir de cet url je veux souscrire l'inscription. Le urllib.urlopen(urlResult) me renvois vers la page index du serveur proxy web.. Et donc l'inscription ne s'effectue pas.

Code de test :

req = urllib2.Request(urlResult)
req.add_header('User-Agent', UserAgent)
req.add_header('Cookie',cookies)
pageResult = urllib2.urlopen(req) ##PROBLEME REDIRECTION AUTOMATIQUE VERS PAGE INDEX DU PROXY
urlResult = pageResult.geturl()

J'ai donc chercher une autre solution sur internet. Voilà un deuxième test qui consisterais à passer directement par le serveur... J'ai pas vraiment compris son fonctionnement.. Et ça ne marche pas non plus d'ailleurs.

req = urllib2.Request('adresseSite')
proxyIp = socket.gethostbyname_ex('free-proxy.us')[2]
req.set_proxy(proxyIp, 80)
req.add_header('User-Agent', UserAgent)
resultat = urllib2.urlopen(req)
print resultat.geturl()
Si quelqu'un pouvait me dire où se trouve le problème, ce serrait vraiment très généreux de sa part.

---- fliip-floop ---

EDIT :

J'utilise python 2.7