-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
Problem
Colly’s default net/http
client is easy for bot-protections to fingerprint (predictable TLS handshake, header order, etc.).
Proposal
Replace the default HTTP client in Colly with imroc/req v3. This gives users realistic browser fingerprints out of the box (via ImpersonateChrome()
), full control over headers, HTTP/2/3 support, and other stealth features—without forking.
Under the hood, every call to the standard net/http
client would be replaced by the req.Client
. Example usage:
c := colly.NewCollector().ImpersonateChrome()
Proof-of-Concept
I’ve implemented this in a fork and have been scraping reliably for several weeks:
https://github.com/M-Horizon-GmbH/colly-with-req
Question
Would you be interested in merging this as a new feature-branch (or similar)? If so, I can prepare a clean PR