Total Pageviews

Thursday, 7 July 2016

http代理服务器程序-pyproxy

HTTP(s) proxy server based on tornado, in one file!

Usage: pyproxy [OPTIONS]

Options:

  --bind                           addrs that debugger bind to (default
                                   127.0.0.1)
  --config                         config file
  --debug                          debug mode (default False)
  --help                           show this help information
  --username                       proxy username
  --password                       proxy password
  --port                           the port that debugger listen to (default
                                   8888)

API

1 Use as http/https proxy
curl -x http://localhost:8888/ http://httpbin.org/get
2 with GET/POST parameters
curl http://localhost:8888/anypath?method=POST&url=http://httpbin.org/post
3 pass params with JSON (work with GET parameters as well)
curl -d '{"url": "http://httpbin.org/get","method": "GET", "headers": {"User-Agent":"Baidu"}}' http://localhost:8888/?callback=callback

Auth

1 http proxy auth
curl -x http://username:password@localhost:8888/ http://httpbin.org/get
2 http basic auth
curl http://username:password@localhost:8888/anypath?method=POST&url=http://httpbin.org/post
3 username & password in GET/POST parameters / JSON
curl http://localhost:8888/anypath?method=POST&url=http://httpbin.org/post&username=usernmae&password=password
4 host_sign / path_sign / url_sign
sign a host / path / url with current username/password:
visit http://username:password@localhost:8888/sign?url=http://httpbin.org/get to get sign
request with: http://localhost:8888/?url=http://httpbin.org/get&path_sign=abc123

from https://github.com/binux/pyproxy