+
86
-

如何识别url的请求是Playwright发出的?

如何识别url的请求是Playwright发出的?


网友回复

+
28
-

当需要识别请求是否由Playwright发出时,有几种有效的方法。Playwright作为一个自动化测试工具,在发送HTTP请求时会留下一些特征标识。

1. 检查User-Agent头部

Playwright默认会使用特定的User-Agent字符串,通常包含以下特征:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/X.X.X.X Safari/537.36

其中Chrome版本号会根据Playwright使用的Chromium版本而变化。但仅凭User-Agent难以确定,因为它可以被轻易修改。

2. 检查特定的HTTP头部

Playwright会添加一些特定的HTTP头部,可以通过检查这些头部来识别:

def is_playwright_request(request_headers):
    # Playwright通常会设置这些头部
    playwright_indicators = [
        'accept-language',
        'upgrade-insecure-requests',
        'sec-fetch-site',
        'sec-fetch-mode',
        'sec-fetch-user',
        'sec-fetch-dest'
    ]

    # 检查头部组合
    matches = 0
    for indicator in playwright_indicators:
        if indicator.lower() in request_headers:
            matches += 1

    # 如果匹配度高,可能是Playwright
    return matches >= 4

3. 检查请求模式和行为特征

Playwright的请求通常具有以下特征:

短时间内发送大量请求请求之间的时间间隔非常规律不会存储或处理cookies(除非特别配置)不会加载某些资源(如广告)

4. 在服务器端实现检测

以下是一个使用Python Flask框架的简单示例,用于检测Playwright请求:

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/')
def index():
    # 获取请求头
  ...

点击查看剩余70%

我知道答案,我要回答