views:

158

answers:

1

After reading through the other questions on StackOverflow, I got a snippet of Python code that is able to make requests through a Tor proxy:

import urllib2
proxy  = urllib2.ProxyHandler({'http':'127.0.0.1:8118'})
opener = urllib2.build_opener(proxy)
print opener.open('https://check.torproject.org/').read()

Since Tor works fine in Firefox with TorButton, I expected it to work fine in Python. Unfortunately, included in the mess of HTML: Sorry. You are not using Tor. I am not sure why this is the case or how to get Tor working properly with urllib2.

+2  A: 

You've set up a proxy to your local Tor instance for the http protocol, but you're using https to talk to "check.torproject.org". Try:

print opener.open('http://check.torproject.org/').read()
Greg Hewgill
Brilliant! I had not even considered this. Thank you very much.
Mike Koval