gOkHttp is HTTP Client written in Golang inspired by Java's (now Kotlin's) OkHTTP and also slightly inspired by Python's Requests.
This library has been written with handling cookies (in-memory, on-disk, encrypted on-disk), headers, parameters, post fields, post multipart bodies, post files and SSL pinning in mind.
- Inspired by okhttp
- SSL Pinning implementation and ease of using it
- Inspired by requests
- Response processing (eg:
responses.ResponseText(httpResp)
to return response body as a string) - Making requests with headers and parameters as maps (there where in Python it's dicts)
- Response processing (eg:
This library has the following features in its ecosystem:
- Easy client construction
- Easy request construction
- Easy response parsing
- HTML parsing (and soon other advanced formats) with goquery found here
- Cookie handling (in-memory, on-disk, encrypted on-disk) found here
- SSL Pinning found here
- HTTP3 client support (theoretical) found here
- Easy to use downloader implementations (multi-threaded, HLS stream downloader) found here
- JA3 fingerprint spoofing found here
In order to keep the main library lightweight I needed these dependencies to be optional, if you need them you can import them as-needed. This will result in smaller binary sizes and fewer dependencies to scan for licensing issues.
This library is a lot more stable than it was back when I first wrote it, though it's far from perfect so do not use it for mission critical stuff
The package can be installed using "go get".
go get -u github.com/BRUHItsABunny/gOkHttp
There is a file filled with examples here, and you can find the Go docs here
If the .ts file is broken, run it through FFmpeg in order to fix it real quick: ffmpeg -i file.ts -c copy file_fixed.ts
Feel free to fork this repository and open up pull requests.