精华内容
下载资源
问答
  • python socks5 代理服务

    2012-06-26 09:38:00
    linux 后台运行:nohup python s5.py 1080 &.../usr/bin/python# Filename s5.py# Python Dynamic Socks5 Proxy# Usage: python s5.py 1080# Backgroup Run: nohup python s5.py 1080 &# Email: ringzero@5...

    linux 后台运行: 
    nohup python s5.py 1080 & 

    #!/usr/bin/python 
    # Filename s5.py 
    # Python Dynamic Socks5 Proxy 
    # Usage: python s5.py 1080 
    # Backgroup Run: nohup python s5.py 1080 & 
    # Email: ringzero@557.im 

    import socket, sys, select, SocketServer, struct, time 

    class ThreadingTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer): pass 
    class Socks5Server(SocketServer.StreamRequestHandler): 
        def handle_tcp(self, sock, remote): 
            fdset = [sock, remote] 
            while True: 
                r, w, e = select.select(fdset, [], []) 
                if sock in r: 
                    if remote.send(sock.recv(4096)) <= 0: break 
                if remote in r: 
                    if sock.send(remote.recv(4096)) <= 0: break 
        def handle(self): 
            try: 
                pass # print 'from ', self.client_address nothing to do. 
                sock = self.connection 
                # 1. Version 
                sock.recv(262) 
                sock.send("\x05\x00"); 
                # 2. Request 
                data = self.rfile.read(4) 
                mode = ord(data[1]) 
                addrtype = ord(data[3]) 
                if addrtype == 1:       # IPv4 
                    addr = socket.inet_ntoa(self.rfile.read(4)) 
                elif addrtype == 3:     # Domain name 
                    addr = self.rfile.read(ord(sock.recv(1)[0])) 
                port = struct.unpack('>H', self.rfile.read(2)) 
                reply = "\x05\x00\x00\x01" 
                try: 
                    if mode == 1:  # 1. Tcp connect 
                        remote = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
                        remote.connect((addr, port[0])) 
                        pass # print 'To', addr, port[0]  nothing do to. 
                    else: 
                        reply = "\x05\x07\x00\x01" # Command not supported 
                    local = remote.getsockname() 
                    reply += socket.inet_aton(local[0]) + struct.pack(">H", local[1]) 
                except socket.error: 
                    # Connection refused 
                    reply = '\x05\x05\x00\x01\x00\x00\x00\x00\x00\x00' 
                sock.send(reply) 
                # 3. Transfering 
                if reply[1] == '\x00':  # Success 
                    if mode == 1:    # 1. Tcp connect 
                        self.handle_tcp(sock, remote) 
            except socket.error: 
                pass #print 'error' nothing to do . 
            except IndexError: 
                pass 
    def main(): 
        filename = sys.argv[0]; 
        if len(sys.argv)<2: 
            print 'usage: ' + filename + ' port' 
            sys.exit() 
        socks_port = int(sys.argv[1]);     
        server = ThreadingTCPServer(('', socks_port), Socks5Server) 
        print 'bind port: %d' % socks_port + ' ok!' 
        server.serve_forever() 
    if __name__ == '__main__': 
        main()

     

     

    http://zone.wooyun.org/content/100

    转载于:https://www.cnblogs.com/keepfocus/archive/2012/06/26/2563065.html

    展开全文
  • [393]python socks5代理

    千次阅读 2018-09-05 10:28:50
    使用前先更新requests版本为支持socks的版本。 pip install -U requests[socks] import requests headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) ' 'AppleWebKit/537.36 (KHTML, like Gecko) ...

    使用前先更新requests版本为支持socks的版本。

    pip install -U requests[socks]
    
    import requests
    
    headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) '
    
               'AppleWebKit/537.36 (KHTML, like Gecko) '
    
               'Chrome/56.0.2924.87 Safari/537.36'}
    
    proxies = {'http': 'socks5://127.0.0.1:1080','https':'socks5://127.0.0.1:1080'}
    
    url = 'https://www.facebook.com'
    
    response = requests.get(url, proxies=proxies)
    
    print(response.content)
    

    注意其中的地址协议写的是http和https

    参考:https://blog.csdn.net/fangbinwei93/article/details/59526937
    https://blog.csdn.net/junbujianwpl/article/details/79411472

    展开全文
  • python requests socks代理

    2018-11-14 06:15:46
    使用前先更新requests版本为支持socks的版本。 pip install -U requests[socks] 代码如下: import requests headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (K...
        
    • 使用前先更新requests版本为支持socks的版本。
    pip install -U requests[socks]
    • 代码如下:
    import requests
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36'
    }
    proxies = {
        "http": "socks5://127.0.0.1:1086",
        'https': 'socks5://127.0.0.1:1086'
    }
    
    url = 'https://www.google.com/search?q=python'
    res = requests.get(url, headers=headers, proxies=proxies)
    print res
    展开全文
  • python爬虫Socks代理

    千次阅读 2019-08-02 16:34:16
    无用户密码代理 from selenium import webdriver chrome_options = webdriver.ChromeOptions() # 添加代理服务器信息 chrome_options.add_argument(’–proxy-server=http://...

    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)
    

    requests请求网页(有用户认证)

    http/https网页均可适用
    运行环境要求:requests >= 2.10.0
    socks支持是requests的额外特性,需要安装才能使用: pip install requests[socks]

    import requests
    
    # 要访问的目标网页
    page_url = "http://dev.kdlapi.com/testproxy"
    
    # 代理服务器 提示:生成api链接时代理类型请勾选socks4/socks5
    proxy = "59.38.241.25:23916"
    
    # 用户名和密码(私密代理/独享代理)
    username = "myusername"
    password = "mypassword"
    
    proxies = {
        'http': 'socks5://%s:%s@%s' % (username, password, proxy),
        'https': 'socks5://%s:%s@%s' % (username, password, proxy),
        # 提示:如果希望在代理服务器上进行dns解析,把socks5替换成socks5h
    }
    
    headers = {
        "Accept-Encoding": "gzip",  # 使用gzip压缩传输数据让访问更快
    }
    
    
    r = requests.get(page_url, proxies=proxies, headers=headers)
    
    print(r.status_code)  # 获取Response的返回码
    
    if r.status_code == 200:
        print(r.text)  # 获取页面内容
    

    selenium请求网页(无用户认证)

    运行环境要求selenium + chrome + chromedriver
    socks5代理网页均可适用
    请先下载chromedriver并将chromedriver添加到环境变量中

    from selenium import webdriver
    
    # 代理服务器
    proxy_ip_port = '42.49.11.109:21080'
    proxy = 'socks5://' + proxy_ip_port
    
    # 目标网页
    page_url = "https://dev.kuaidaili.com/testproxy"
    
    co = webdriver.ChromeOptions()
    co.add_argument('--proxy-server=%s' % proxy) # 设置代理
    co.add_argument('--headless')  # 无窗口模式, 可选
    
    # 启动chrome
    driver = webdriver.Chrome(chrome_options=co)
    
    # 抓取网页
    driver.get(page_url)
    
    # 输出网页内容
    print(driver.page_source)
    
    # 退出chrome
    driver.quit()
    

    selenium请求网页(有用户认证)

    运行环境要求selenium + chrome + chromedriver
    socks5代理网页均可适用
    请先下载chromedriver并将chromedriver添加到环境变量中

    from selenium import webdriver
    
    proxyauth_plugin_path = create_proxyauth_extension(
        proxy_host="42.49.11.109",  # 代理服务器ip
        proxy_port=21080,           # 代理服务器端口
        proxy_username="yourusername",    # 用户名
        proxy_password="yourpassword",  # 密码
        scheme='socks5',  # socks5协议
    )
    
    # 目标网页
    page_url = "https://dev.kuaidaili.com/testproxy"
    
    co = webdriver.ChromeOptions()
    co.add_argument("--start-maximized")  # 最大化窗口, 不加可能报错
    co.add_extension(proxyauth_plugin_path) # 添加扩展
    
    # 启动chrome, 抓取网页
    driver = webdriver.Chrome(chrome_options=co)
    driver.get("https://dev.kuaidaili.com/testproxy")
    
    # 输出网页内容
    print(driver.page_source)
    
    # 自动生成扩展的函数
    def create_proxyauth_extension(proxy_host, proxy_port,
                                   proxy_username, proxy_password,
                                   scheme='http', plugin_path=None):
        import string
        import zipfile
    
        if plugin_path is None:
            plugin_path = 'vimm_chrome_proxyauth_plugin.zip'
    
        manifest_json = """
        {
            "version": "1.0.0",
            "manifest_version": 2,
            "name": "Chrome Proxy",
            "permissions": [
                "proxy",
                "tabs",   
                "unlimitedStorage",
                "storage",
                "<all_urls>",
                "webRequest",
                "webRequestBlocking"
            ],
            "background": {
                "scripts": ["background.js"]
            },
            "minimum_chrome_version":"22.0.0"
        }
        """
    
        background_js = string.Template(
        """
        var config = {
                mode: "fixed_servers",
                rules: {
                  singleProxy: {
                    scheme: "${scheme}",
                    host: "${host}",
                    port: parseInt(${port})
                  },
                  bypassList: ["foobar.com"]
                }
              };
    
        chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});
    
        function callbackFn(details) {
            return {
                authCredentials: {
                    username: "${username}",
                    password: "${password}"
                }
            };
        }
    
        chrome.webRequest.onAuthRequired.addListener(
                    callbackFn,
                    {urls: ["<all_urls>"]},
                    ['blocking']
        );
        """
        ).substitute(
            host=proxy_host,
            port=proxy_port,
            username=proxy_username,
            password=proxy_password,
            scheme=scheme,
        )
        with zipfile.ZipFile(plugin_path, 'w') as zp:
            zp.writestr("manifest.json", manifest_json)
            zp.writestr("background.js", background_js)
    
        return plugin_path
    

    本文转载出处https://www.kuaidaili.com/doc/dev/sdk_socks/

    展开全文
  • client: start socks5 proxy , and you can chose transmit the proxy or another service like Windows RDP to your computer. server: run on your computer to supply the transmit service.you just need input ...
  • python中,正常的抓取数据直接使用urllib2 这个模块: import urllib2 url = 'http://fanyi.baidu.com/' stream = urllib2.urlopen(url) cont = stream.read() print cont  如果要走http代理的话,我们...
  • 如果不太明白SCOKS5具体通讯过程,请先阅读一篇很详细的文章SOCKS5代理原理探索 建立SOCKS5连接时获取访问的目标域名或者IP,如果在白名单中或者是你想要拦截的广告等可进行直连或者屏蔽,其他情况则连接设置的目标...
  • python 怎么走 socks5 代理

    千次阅读 2020-07-11 21:35:30
    title: “python 怎么走 socks5 代理?” date: 2020-4-12 2:44:09 +0800 categories: python socks5 代理 透明 文章目录Python 怎么使用 Socks5 协议?Pip 安装使用场景官方例子更通用的场景PySocks 库原理设置 ...
  • 参考博客 https://zhengheng.me/2016/08/25/python-requests-socks5/ 转载于:https://www.cnblogs.com/lemos/p/7778252.html
  • python3 使用socks5代理

    万次阅读 2018-09-18 09:34:08
    #!/usr/bin/python # -*- coding: UTF-8 -*- import requests import time import socket ...import socks ...SOCKS5_PROXY_HOST = 'x.x.x.x' # socks 代理IP地址 SOCKS5_PROXY_PORT = xxxx ...
  • python的urllib2中使用socks代理 | 潘魏增 在python的urllib2中使用socks代理 | 潘魏增在python的urllib2中使用socks代理2010年02月26日 | 4,959 次浏览 | 标签: python | 2条评论...
  • python2的socks5代理 文件上传前言socks5+文件上传服务端客户端使用方法socks5文件上传注意参考文章 前言 在对linux机器进行打点时候,机器不出网,但是我们能链接到linux机器,在webshell无法传输文件,或者无法...
  • python 使用socks5 设置全局代理

    千次阅读 2020-10-28 11:12:29
    目录 0x01介绍 0x02 安装 0x03 测试 0x04 测试代码 ...PySocks使您可以通过SOCKS和HTTP代理服务器发送...加入socks5代理后,可以获得当前程序的全局代理可以 正常访问 import socket import socks socks.set_def
  • 代理 如果需要使用代理,你可以通过为任意请求方法提供proxies参数来配置单个请求: import requests proxies = { "http": "http://10.10.1.10:3128", "https": "http://10.10.1.10:1080", } requests.get(...
  • # Python Dynamic Socks5 Proxy # Usage: python s5.py 1080 # Background Run: nohup python s5.py 1080 & import socket, sys, select, SocketServer, struct, time class ThreadingTCPServer(SocketServer....
  • 默认监听0.0.0.0:1080端口 python2.7 socks5.py start 监听0.0.0.0:8080端口并设置socks5代理的认证密码 python2.7 socks5.py start --port=8080 --auth=admin:123456 脚本地址
  • 解解决决Python requests库库编编码码 socks5代代理理的的问问题题 今天小编就为大家分享一篇解决Python requests库编码 socks5代理的问题具有很好的参考价值希望对大家有 所帮助一起跟 小编过来看看吧 编码问题 ...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 245
精华内容 98
关键字:

pythonsocks代理

python 订阅