lexiforest / curl_cffi

Python binding for curl-impersonate fork via cffi. A http client that can impersonate browser tls/ja3/http2 fingerprints.
https://curl-cffi.readthedocs.io/
MIT License
2.54k stars 269 forks source link

[BUG] Use Different browsers, ... , But get same fingerprints #292

Closed NewStartMe closed 7 months ago

NewStartMe commented 7 months ago

Describe the bug 为什么我选择不同的浏览器,但是得到相同的指纹呢?比如:选择chrome99~chorome110得到的指纹是相同的

image

Versions

perklet commented 7 months ago

请附上代码,谢谢

NewStartMe commented 7 months ago

请附上代码,谢谢

def test_tls(self):
    headers = {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Cache-Control': 'no-cache',
        'Connection': 'keep-alive',
        'Pragma': 'no-cache',
        'Sec-Fetch-Dest': 'document',
        'Sec-Fetch-Mode': 'navigate',
        'Sec-Fetch-Site': 'none',
        'Sec-Fetch-User': '?1',
        'Upgrade-Insecure-Requests': '1',
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36',
        'sec-ch-ua': '"Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"',
        'sec-ch-ua-mobile': '?0',
        'sec-ch-ua-platform': '"macOS"',
    }
    try:
        uas = ('chrome99,chrome100,chrome101,chrome104,chrome107,chrome110,chrome116,chrome119,chrome120,'
               'chrome99_android,edge99,edge101,safari15_3,safari15_5,safari17_0,safari17_2_ios').split(",")
        for ua in uas:
            response = requests.get('https://tls.peet.ws/api/all', headers=headers, impersonate=str(ua))
            print(
                f"ua:{ua}, ja3:{response.json().get('tls').get('ja3')}, tls cipher {response.json().get('tls').get('ciphers')}")
    except:
        pass
NewStartMe commented 7 months ago

请附上代码,谢谢 我本地曾经编译过curl-impersonate, 会和这个有关吗?因为我本地执行 curl_chrome99 https://tls.peet.ws/api/all, curl_chrome100 https://tls.peet.ws/api/all 得到tls也是一样的。是我自己本地编译的出错了吗?

perklet commented 7 months ago

这几个本来就是一样的呀,浏览器指纹不是每个版本都会变的。

NewStartMe commented 7 months ago

这几个本来就是一样的呀,浏览器指纹不是每个版本都会变的。

哦哦,好吧。😅