Shape F5 参数 西南航空

西南航空 F5 Shape 如何生成?

这几天西南航空的风控大幅度增强,我们优化后的6.0.0版本并没有收到这次风控等级升级的影响。
Shape风控会在请求头中加入ee30zvqlwf-a、ee30zvqlwf-b、ee30zvqlwf-c、ee30zvqlwf-d、ee30zvqlwf-f、ee30zvqlwf-z 参数,通过这些参数对环境进行检测,并判断出是否是真实用户的流量。

接入Demo

# -*- coding: utf-8 -*-
# @Time    : 2023/3/28 6:50 AM
# @Author  : TiggerRun
# 接入案例
# :TGRUN000
# :TGRUN001

import  requests
import  threading
import  random
import json

url = api + '/search_flight'

airport = ["ALB", "ABQ", "AMA", "AUA", "ATL", "AUS"]

def get_flight_data():
    while(True):
        try:
            # 发送搜索请求体,和wn接口的请求方式一致
            payload = '{"body": {"adultPassengersCount":"1","adultsCount":"1","departureDate":"2023-04-05","departureTimeOfDay":"ALL_DAY","destinationAirportCode":"' + random.choice(airport) + '","fareType":"USD","int":"HOMEQBOMAIR","originationAirportCode":"' + random.choice(airport) + '","passengerType":"ADULT","reset":"true","returnDate":"2023-04-06","returnTimeOfDay":"ALL_DAY","tripType":"roundtrip","application":"air-booking","site":"southwest"}}'
            res = requests.post(url=url, headers={
                "content-type": "application/json",
                "connection": "close"
            }, data=payload, timeout=10)
            if res.status_code == 500:
                print("请求频繁.")
            elif res.status_code == 403:
                print("返回错误的状态码 403")
            elif res.status_code == 400 or res.status_code == 200:
                wn_data = json.loads(res.text)['data']['body']
                print("返回数据", wn_data)
        except Exception as ex:
            pass

# create 10 thread
for i in range(10):
    t = threading.Thread(target=get_flight_data)
    t.start()

风控的特点

  1. 蜜罐:在风控不高的时候,往往会让错误的headers通过请求,看似已经绕过了Shape,实际上并有,Shape往往会误导你的想法。
  2. 检测动态变化:Shape中包含一个有自定义解析器的虚拟环境,称之为虚拟化保护(VMP),这使得测试非常困难。
  3. 风控等级动态变化:在没有风控时,成功率几乎为100%,当网站风控等级提升时,真人的搜索都可能被拒绝。
  4. 底层检测:在我们的测试中,发现存在一些底层的检测,而不仅仅停留在TLS。

优点

  1. 不需要短效IP,获取数据的代理开销小(月均¥1000代理)
  2. 我们曾在1条IP中进行测试,我们的headers可以获取上万条数据(!!!!仅1条代理!!!)
  3. 目前支持每家/10线程获取数据(每小时大概1w条有效数据),数据返回时间平均在1-2秒,如需扩增线程可以另外进行购买。
  4. 可7*24小时获取实时数据
  5. 接口进行了封装,请求航司更加便捷
  6. 在我们最新的框架中,绕过Shape的代码仅有200行,易于维护。

后台展示

以下是部署的服务,成功率取决于IP的质量
Shape F5 参数 西南航空_第1张图片
Shape F5 参数 西南航空_第2张图片
Shape F5 参数 西南航空_第3张图片

# -*- coding: utf-8 -*-
# @Time    : 2023/3/28 6:50 AM
# @Author  : TiggerRun
# 接入案例
# :TGRUN000
# :TGRUN001

你可能感兴趣的:(爬虫逆向工程)