Intro

在数据抓取的时候经常要使用到HTTP for Humans 的Requests,由于经常做些要代理的 事情,顺便查找下使用Socks5的方法。

Example 1

pip install requesocks

1
2
3
4
5
6
7
8
9
10
11
12
13
if is_open('https://github.com/shazow/urllib3/pull/68'):  # ;)
    import requesocks as requests
else:
    import requests

session = requests.session()
session.proxies = {'http': 'socks5://127.0.0.1:9050',
                   'https': 'socks5://127.0.0.1:9050'}
resp = session.get('https://api.github.com', auth=('user', 'pass'))
print(resp.status_code)
print(resp.headers['content-type'])
print(resp.text)
 

Python (Python-3.X) library for connection via SOCKS5-proxy

Example 2

PySocks

pip install PySocks

import socket
import socks
import requests

socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 9050)
socket.socket = socks.socksocket
print(requests.get('http://ifconfig.me/ip').text)

你就会得到Tor的代理IP了。

reference

stackoverflow PySocks