go-flaresolverr is Golang client for FlareSolverr v3.
- Install FlareSolverr
- Get go-flaresolverr
go get github.com/astrocode-id/go-flaresolverrRetrieves webpage using request.get command.
package main
import (
"errors"
"fmt"
"log"
"github.com/astrocode-id/go-flaresolverr"
)
func main() {
c, err := flaresolverr.NewClient(flaresolverr.Config{
BaseURL: baseURL,
})
if err != nil {
log.Fatal(err)
}
r, err := c.Get("https://httpbin.org/ip",
flaresolverr.WithMaxTimeout(60000),
)
if err != nil {
log.Fatal(err)
}
if r.Status != "ok" {
log.Fatal(errors.New(r.Message))
}
fmt.Println(r.Solution.Response)
}Retrieves webpage using request.post command.
package main
import (
"errors"
"fmt"
"log"
"net/url"
"github.com/astrocode-id/go-flaresolverr"
)
func main() {
c, err := flaresolverr.NewClient(flaresolverr.Config{
BaseURL: baseURL,
})
if err != nil {
log.Fatal(err)
}
r, err := c.Post("https://httpbin.org/post", url.Values{
"key1": {"valueA"},
"key2": {"valueB"},
})
if err != nil {
log.Fatal(err)
}
if r.Status != "ok" {
log.Fatal(errors.New(r.Message))
}
fmt.Println(r.Solution.Response)
}Both Get and Post accept optional parameters, which map to the
base parameters
supported by the FlareSolverr API:
WithMaxTimeout(ms int)WithCookies(cookies flaresolverr.Cookies)WithReturnOnlyCookies(v bool)WithWaitInSeconds(s int)WithDisableMedia(v bool)
session, session_ttl_minutes, proxy, returnScreenshot, and
tabs_till_verify are part of the FlareSolverr API but aren't supported by
this client yet.
TODO: not supported yet.
TODO: not supported yet.