Go HTTP Client
Go HTTP client is an HTTP(s) client implemented in Golang. It can be used to make HTTP(s) requests from a Golang program.By default, i.e. when it hasn't been modified by the developer, its user-agent looks as follows:
go-http-client/1.1
The
1.1
at the end of the user agent refers to the version of the library and may evolve over time.Is Go HTTP client linked to Google (bot)?
No, contrary to what's discussed on certain forums, Go HTTP client has NO links with Google bot. This is a library that can be used by anyone to make HTTP(s) requests, including to make bots.How to block bots that are based on the Go HTTP client?
First, you can block all requests whose user-agent HTTP header contains thego-http-client
substring. However, you should keep in mind that attackers can change their user agent to appear more human, e.g. by selecting the user agent of the latest Chrome on Windows. In this case, you may want to use other bot detection techniques, such as: - TLS/JA3 fingerprinting;
- Inconsistent HTTP header detection;
- Behavioral detection.
You can learn more about the basics of bot detection in this article.
Moreover, since bots based on the Go HTTP client can't execute JavaScript code natively, you can also use a JS-based proof of work to stop them (or any other kinds of bots that do not execute JS).
Other recommended articles
How to get started in bot detection and bot development?
This article present the topics and blogs/articles/websites/papers that are worth reading to learn about bot detection.
Published on: 28-09-2024
How to remove “Chrome is being controlled by automated test software” ?
In this article, we present how you can remove the “Chrome is being controlled by automated test software” warning in Chrome using the ignoreDefaultArgs: ["--enable-automation"] argument.
Published on: 16-06-2024
How to take good screenshots with Puppeteer?
In this article, we present different options of the page.screenshot function in Puppeteer you can use to take good-looking screenshots.
Published on: 16-06-2024