mirror of
https://github.com/gospider007/requests.git
synced 2025-12-24 13:57:52 +08:00
01bdec09872e38599cc32d28b40b5fa6e954dfb5
Requests - A next-generation HTTP client for Golang.
A request library designed specifically for web crawlers
Requests is a fully featured HTTP client library for Golang. Network requests can be completed with just a few lines of code. Unified support for http1, http2, http3, websocket, sse, utls, uquic
Innovative Features
- Unlimited chained proxy
- HTTP/3 fingerprint spoofing protection
- Arbitrary closure of underlying connections
- Genuine request-level proxy settings
- Unique transport layer management mechanism, fully unifying HTTP/1, HTTP/2, HTTP/3, WebSocket, SSE, UTLS, QUIC protocol handling
Features
- Simple for settings and Request
- Request Support Automatic type conversion, Support orderly map
- Json Request with
application/json - Data Request with
application/x-www-form-urlencoded - Form Request with
multipart/form-data - Upload File Request with
multipart/form-data - Flow Request
- Request URL Path Params
- Local network card
- Json Request with
- Response
- Middleware
- Protocol
- Fingerprint
- Session
- IPv4, IPv6 Address Control Parsing
- DNS Settings
- Proxy
- Chain Proxy
- Logger
- Well tested client library
Supported Go Versions
Recommended to use go1.24.0 and above.
Initially Requests started supporting go modules
Installation
go get github.com/gospider007/requests
Usage
import "github.com/gospider007/requests"
Quickly Send Requests
package main
import (
"log"
"time"
"github.com/gospider007/requests"
)
func main() {
resp, err := requests.Get(nil, "http://httpbin.org/anything")
if err != nil {
log.Panic(err)
}
log.Print(resp.Text()) // Get content and parse as string
log.Print(resp.Content()) // Get content as bytes
log.Print(resp.Json()) // Get content and parse as gjson JSON
log.Print(resp.Html()) // Get content and parse as goquery DOM
log.Print(resp.Cookies()) // Get cookies
}
Contributing
If you have a bug report or feature request, you can open an issue
Contact
If you have questions, feel free to reach out to us in the following ways:
Sponsors
If you like and it really helps you, feel free to reward me with a cup of coffee, and don't forget to mention your github id.
|
Alipay |
License
This project is licensed under the Mozilla Public License 2.0 (MPL-2.0) with additional author attribution requirements.
See the LICENSE file for details.
Languages
Go
100%


