Skip to content

Replace HTTP client with imroc/req/v3 #850

@Marv963

Description

@Marv963

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions