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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions