search
LoginSignup
14

More than 5 years have passed since last update.

posted at

urllib2からの接続にTorを使う[Python][Mac]

Torとは

TorはIPアドレスを自身のアドレスを他のアドレスに偽装することができます。
これは非常に良く出来ており、犯罪などに悪用されているほどです。
悲しいことに日本の警察では手がかりにIPアドレスしかない状態になると犯人をほぼ確実に見つけれれません。ここ最近のTorを使用していた犯罪者がよく逮捕されていますが、恐らくIPアドレス以外から手がかりを見つけたのでしょう。

Torのインストール

Macの人は
HomeBrewからインストールできます。

brew install tor

HomeBrewのインストールコマンド


usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Torの起動

tor

100%起動できた場合、ターミナルに

Xxx XX XX:XX:XX.XXX [notice] Bootstrapped 100%: Done

と表示されます(Xは文字または数字)

PythonからTorを使う。

Torは起動すると、socks:localhost:9050から接続することで使用できます。
Pythonではurllib2のみでは指定はできないのでPySocksを使用します。
インストールコマンドは

pip install PySocks
# or
sudo easy_install PySocks

Pythonから使用する場合のコード

import urllib2, socket, socks

class Tor:
    def __init__(self):
        socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', 9050)
        socket.socket = socks.socksocket
    def test(self):
        return urllib2.urlopen("https://api.ipify.org?format=json").read()

if __name__ == "__main__":
    Tor = Tor()
    ip = Tor.test()
    print ip # Torを経由したIPアドレスが表示される。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
14