使用云函数 SCF + API 网关搭建一个网址代理,并拥有海量IP代理池。

在互联网上IP 是每个人都有的"网络身份证 " ,是互联网上一个连接者的唯一标识符,它包含你的地理位置运营商网络活动痕迹等信息,而这些信息能够被网络服务商轻松的看到。

本文演示基于腾讯云函数和API网关的应用,介绍如何利用腾讯云的云函数SCF和API网关实现简单的网络代理,每次访问都会给你一个全新的IP,利用这个特性隐匿行踪,实现网络身份,地理位置的变更。由于网络地理位置变更,访问ip周围的网络服务也就更快了,由此又提供网络加速的功能。

适用场景: 爬虫、网站代理、接口代理、WebShell防溯源连接。

相关服务介绍: 云函数是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。总结一句话就是:稳定可靠,高效开发,简化运维,节省成本,不需为空闲资源付费。

简单的4个步骤:

1.创建云函数 SCF,输入代码。

2.创建 API 网关。

3.云函数SCF应用绑定API网关。

4.访问网页

第一步:创建SCF应用

模板: 从头开始

函数类型:事件函数

地域: 新加坡 (根据需要)

运行环境: Python3.6

填写代码:

完整代码如下:

python 复制代码
import time
import random
import requests
import ssl
from urllib.parse import unquote
​
#忽略证书校验
requests.packages.urllib3.disable_warnings()
try:
    _create_unverified_https_context =ssl._create_unverified_context
except AttributeError:
    pass
else:
    ssl._create_default_https_context =_create_unverified_https_context
​
user_agent = [ 
            'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, likeGecko) Chrome/57.0.2987.133 Safari/537.36', 
            "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML,like Gecko) Chrome/23.0.1271.64 Safari/537.11",
            "Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10)Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10"
            ]
​
def requests_headers():
    UA = random.choice(user_agent)
    headers = {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
        'User-Agent': UA,
        'X-Forwarded-For': '10.10.{}.{}'.format(str(random.randint(0, 255)), str(random.randint(0, 255))),
        }
    return headers
​
def main_handler(event, context):
    #url = unquote(event['queryString']['url'])
    url = event['queryString']['url']
    agrs = event['queryString']
    for key in agrs.keys():
        if key != "url":
            url += "&" +  key + "=" + agrs[key]
    method = event['httpMethod']
    headers = requests_headers()
    #headers = event['headers']
    timeout = 60
    try:
        data = event['body']
    except:
        data = None
    if method == "POST":
        html = requests.post(url=url, headers=headers, timeout=timeout, verify=False, data=data)
    elif method == "GET":
        html = requests.get(url=url, headers=headers, timeout=timeout, verify=False, data=data)
    print(len(html.text))
    return {
        "isBase64Encoded": False,
        "statusCode": html.status_code,
        "headers": {'Content-Type': 'text/html; charset=utf-8'},
        "body": html.text
    }

高级配置:

内存:64MB(越小越便宜)

执行超时时间: 60s 运行角色: SCF_QcsRole(选择具有权限的角色)

不选择日志(看需求,一般不选择)

核心特性:

不要选择固定公网出口IP

参考如图:

触发器配置: 它设置你使用什么方式访问,使用什么方式回复你的网络请求。

选择API网关触发 请求方法: any (如果设置不对将无法访问,具体知识可以查看《HTTP协议》)

参考如下:

到这里SCF云函数创建配置完成。

点击右侧的触发管理就有你的访问链接:如何没有链接,就重新设置触发器或者绑定触发器一下。

效果演示: 访问网站,你的触发器下的访问路径+?url=你的代理的网址,每次访问都会更新ip

活动推荐:

腾讯云100GBCDN流量0元试用:curl.qcloud.com/3Zx7vWEM

老用户0元 每月10GBCDN流量:curl.qcloud.com/ObGTRB1j

温馨提示: 目前云函数每月有免费100万次调用额度哦

相关推荐
hummhumm21 分钟前
第 25 章 - Golang 项目结构
java·开发语言·前端·后端·python·elasticsearch·golang
杜小满25 分钟前
周志华深度森林deep forest(deep-forest)最新可安装教程,仅需在pycharm中完成,超简单安装教程
python·随机森林·pycharm·集成学习
databook1 小时前
『玩转Streamlit』--布局与容器组件
python·机器学习·数据分析
nuclear20112 小时前
使用Python 在Excel中创建和取消数据分组 - 详解
python·excel数据分组·创建excel分组·excel分类汇总·excel嵌套分组·excel大纲级别·取消excel分组
Lucky小小吴2 小时前
有关django、python版本、sqlite3版本冲突问题
python·django·sqlite
GIS 数据栈3 小时前
每日一书 《基于ArcGIS的Python编程秘笈》
开发语言·python·arcgis
爱分享的码瑞哥3 小时前
Python爬虫中的IP封禁问题及其解决方案
爬虫·python·tcp/ip
傻啦嘿哟4 小时前
如何使用 Python 开发一个简单的文本数据转换为 Excel 工具
开发语言·python·excel
B站计算机毕业设计超人4 小时前
计算机毕业设计SparkStreaming+Kafka旅游推荐系统 旅游景点客流量预测 旅游可视化 旅游大数据 Hive数据仓库 机器学习 深度学习
大数据·数据仓库·hadoop·python·kafka·课程设计·数据可视化
IT古董4 小时前
【人工智能】Python在机器学习与人工智能中的应用
开发语言·人工智能·python·机器学习