feat(crawl): browser-like headers, HTTP/2, curl_cffi TLS fingerprint fallback
- get_headers(url): Referer, Sec-Fetch-*, sec-ch-ua, API vs HTML Accept - httpx AsyncClient/ sync Client with optional HTTP/2 (h2 extra) - On 403/429/503/520-523/525/567 or request errors, retry via curl_cffi chrome124 impersonate - POST: Origin, Referer, Content-Type for form posts - kuaidaili/ip3366: forward get_headers(url=...) Made-with: Cursor
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import re
|
||||
import asyncio
|
||||
import random
|
||||
from typing import List
|
||||
from typing import List, Optional
|
||||
from bs4 import BeautifulSoup
|
||||
from app.core.plugin_system import ProxyRaw
|
||||
from app.plugins.base import BaseHTTPPlugin
|
||||
@@ -26,8 +26,8 @@ class KuaiDaiLiPlugin(BaseHTTPPlugin):
|
||||
"https://www.kuaidaili.com/free/intr/1/",
|
||||
]
|
||||
|
||||
def get_headers(self) -> dict:
|
||||
headers = super().get_headers()
|
||||
def get_headers(self, url: Optional[str] = None, **kwargs) -> dict:
|
||||
headers = super().get_headers(url=url, **kwargs)
|
||||
headers["Referer"] = "https://www.kuaidaili.com/free/"
|
||||
headers["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"
|
||||
headers["Accept-Encoding"] = "gzip, deflate"
|
||||
|
||||
Reference in New Issue
Block a user