shimmeris / SCFProxy

A proxy tool based on cloud function.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

scfproxy http代理运行报错

LWJdSGZ opened this issue · comments

大佬,使用腾讯云云函数部署了http的server脚本后,在本地运行licent脚本,出现如下错误,请问这个是步骤出错了么?
image
image

server脚本
image

commented

看第二张图是本地没装 requests 库吧

如果用的是mitmdump bin包,自带的python环境缺少 requests 库, 可以修改 client.py:

    if flow.response.status_code == 200:
        return

应用

# mitmdump -s client.py -p 8080 --no-http2 --ssl-insecure
from base64 import b64encode, b64decode
import pickle
import requests
from urllib3.exceptions import InsecureRequestWarning
from fake_useragent import UserAgent
requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)


import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
logger.addHandler(ch)

log_file = r'ip.log'
fh = logging.FileHandler(log_file)
fh.setFormatter(formatter)
logger.addHandler(fh)


ua = UserAgent()
def get_ip(i=0):
    url = 'https://httpbin.org/get' 
    try:
        r = requests.get(url, headers = {'user-agent':ua.chrome},
                              proxies = {'http': 'http://127.0.0.1:8080',
                                         'https': 'http://127.0.0.1:8080'}   
        , verify=False)

        body = r.text
        resp = pickle.loads(b64decode(body))

        ip = resp.json()['origin']
        UA = resp.json()['headers']['User-Agent'][:30]
        logging.info('[%s] %s -> %s' % (i, ip, UA))
    except Exception as e:
        logging.error(str(e)[:50])

# get_ip()

from concurrent.futures import ThreadPoolExecutor
pool = ThreadPoolExecutor(max_workers=8)
for result in pool.map(get_ip, range(40)):
    continue