2009-04-02 23 views
13

Comment acheminer les requêtes urllib via le réseau TOR?Comment acheminer les demandes urllib via le réseau TOR?

+1

Qu'avez-vous essayé? Le mandat devrait être en grande partie transparent pour vous. Essayez d'utiliser urrlib2; Postez votre code et vos messages d'erreur. –

+0

Je n'ai aucun code ou message d'erreur - je demande comment le faire. – Lobe

+0

@Lobe: Tor anonymise vos demandes - il vous cache du site Web. Il ne fait rien à la méthode de base de faire des requêtes HTTP - c'est pourquoi il n'y a pas de documentation. Rien ne change, sauf que vous êtes anonyme. –

Répondre

5

Tor fonctionne comme un proxy, non? Alors demandez-vous "Comment puis-je utiliser des proxies dans urllib?"

Maintenant, quand je regarde les documents, la première chose que je vois est

urllib.urlopen(url[, data[, proxies]]) 

qui me semble assez suggestif ...

+0

J'ai essayé cela, ne fonctionne pas: >>> urllib.urlopen ('http: //www.google.com',proxies= {' http ':' http: //127.0.0.1: 9051 '}) < addinfourl à 61446104 dont l'objet fp = > >>> _.read() – Lobe

+0

Mais Tor travaille pour vous à partir d'autres applications? Pouvez-vous utiliser _any_ proxies avec liburl? – dmckee

+0

Ne fonctionne pas sur 127.0.0.1:8118 ?, Je pense que 9051 est le port de contrôle. – jahmax

12

Cela fonctionne pour moi (en utilisant urllib2, havre de paix » t essayé urllib):

def req(url): 
    proxy_support = urllib2.ProxyHandler({"http" : "127.0.0.1:8118"}) 
    opener = urllib2.build_opener(proxy_support) 
    opener.addheaders = [('User-agent', 'Mozilla/5.0')] 
    return opener.open(url).read() 

print req('http://google.com') 
+2

http://stackoverflow.com/questions/1096379/tor-with-python/2015649#2015649 –