zoukankan      html  css  js  c++  java
  • 推广项目难点-隐藏IP上

    1、背景

    类似网络爬虫从第三方接口获取数据包的时候,第三方平台接口会分析记录IP,根据IP判断异地登陆或者同一个IP请求此次过多会限制请求导致获取数据包异常。通过代理IP的方式当发现IP受限的时候换个IP继续请求接口获取数据包。

    2、实现方案

    2.1、注册芝麻代理(芝麻代理平台提供了大量可用的IP);

    2.2、芝麻代理添加白名单后就可以根据平台提供的接口获取IP;

    2.3、提取IP的有效时长收费标准不同,有效时长长的收费贵(根据业务需求选择),IP可以选择所在地域省份;

    2.4、请求第三方接口爬数据的时候指定代理IP和端口即可(根据接口返回结果规定是否切换代理IP);

    3、开发版本

    3.1、V1.0基于数据库存储代理IP

    3.1.1、初始化从芝麻代理获取10个IP存储到数据库,定时10s维护数据库IP池有10个代理IP;

    3.1.2、请求第三方接口的时候从数据库随机获取一个代理IP,当代理IP被限制了就切换一个IP并且将受限制的IP从数据库IP池移除;

    3.1.3、动态维护数据库IP池,当代理IP到失效时间就从数据库IP池移除;

    3.2、V2.0基于Redis存代理IP

    3.2.1、根据IP有效时长存储到redis设置有效时长的10个IP,当IP有效时长到了自动清理,redis中动态新增新的IP维护redis存储的IP池;

    3.2.2、请求第三方接口的时候从redis存的IP池随机获取一个代理IP,当代理IP被限制了就切换一个IP并且将受限制的IP从redis存储的IP池移除;

    4、项目场景

    后台下单请求第三方接口的项目xx-secure-api调用第三方接口的时候没有IP限制,为了隐藏IP每隔几个小时切换一次代理IP

  • 相关阅读:
    每日日报2021 5/25
    每日日报2021 5/24
    Rust-Cargo是什么
    Rust学习-Intellij开发环境配置
    设计模式-命令模式
    918. Maximum Sum Circular Subarray
    不错的画类图工具-PlantUML
    Daily Coding Problem: Problem #793
    读懂UML类图
    1753. Maximum Score From Removing Stones
  • 原文地址:https://www.cnblogs.com/xx0829/p/11479947.html
Copyright © 2011-2022 走看看