#850·colly

Replace HTTP client with imroc/req/v3

Author: Marv963Created May 19, 2025Updated Jun 3, 2026

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:

go
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