gotvsresty
Got is a lightweight and powerful HTTP client for Node.js. It is built on top of the http and https modules and provides a simple, consistent API for making HTTP requests.
Got is one of the most feature-rich http clients in NodeJS ecosystem offering http2, proxy and asynchronous support making it ideal for web scraping.
Got also supports many specific domain integrations like AWS, plugins for various public APIs like github.
Note that Got has some inconsistent behaviors when it comes to web scraping use.
For example, it normalizes http headers
which is undesired functionality in scraping and should be disabled.
Resty is an HTTP and REST client library for Go. It is designed to be simple and easy to use, while still providing a lot of powerful features. One of the main benefits of using Resty is that it allows you to make HTTP requests with minimal boilerplate code, while still providing a lot of flexibility and control over the requests.
One of the key features of Resty is its use of chaining. This allows you to chain together multiple methods to build up a request, making the code more readable and easy to understand. For example, you can chain together the R().SetHeader("Accept", "application/json") method to set the Accept header and R().SetQueryParam("param1", "value1") to add a query parameter to the request.
Resty also provides a lot of convenience functions for making common types of requests, such as Get, Post, Put, and Delete. This can be useful if you need to make a simple request quickly and don't want to spend a lot of time configuring the request. Additionally, Resty also provides a way to set a timeout for the request, in case the server takes too long to respond.
Resty also supports HTTP/2 and advanced features like multipart file upload, request and response middlewares, request hooks, and many others.
Overall, Resty is a good choice if you're looking for a simple and easy-to-use HTTP client library for Go. It's a good fit for projects that don't require a lot of customization and need a quick way to make HTTP requests.