Proxy and Hijack
Qedr1 opened this issue · comments
Rod Version: v0.116.0
If I enable Hijack, proxy setting not working, but Hijack working. If I disable HiJack - proxy working well and Hijack working too
In both case I see proxy setting for ps ax
Can u help me? Thx
My Launcher
u := launcher.New().
Set("enable-features", "ConversionMeasurement,AttributionReportingCrossAppWeb").
Set("enable-chrome-browser-cloud-management", "").
Proxy("socks5://127.0.0.1:8888").
Delete("enable-gpu-rasterization").
Delete("headless").
Bin(path)
My Hijack
func pageDisableCache(page *rod.Page) {
router := page.HijackRequests()
err := router.Add("", "", func(ctx *rod.Hijack) {
error := ctx.LoadResponse(http.DefaultClient, true)
if error != nil {
log.Println("Hijack LoadResponse err:", error)
return
}
ctx.Response.SetHeader("Cache-Control", "no-cache, no-store, must-revalidate")
ctx.Response.SetHeader("Pragma", "no-cache")
ctx.Response.SetHeader("Expires", "0")
})
if err != nil {
log.Println("Hijack response headers err:", err)
return
}
go router.Run()
}
Please fix the format of your markdown:
9 MD031/blanks-around-fences Fenced code blocks should be surrounded by blank lines [Context: "```go"]
20 MD031/blanks-around-fences Fenced code blocks should be surrounded by blank lines [Context: "```go"]
generated by check-issue
Problem solved
For this case we need to set htt.Transport
func pageDisableCache(page *rod.Page) {
router := page.HijackRequests()
err := router.Add("", "", func(ctx *rod.Hijack) {
ul, _ := url.Parse("socks5://127.0.0.1:8888")
proxy := http.ProxyURL(ul)
transport := &http.Transport{Proxy: proxy}
error := ctx.LoadResponse(&http.Client{Transport: transport}, true)
if error != nil {
log.Println("Hijack LoadResponse err:", error)
return
}
ctx.Response.SetHeader("Cache-Control", "no-cache, no-store, must-revalidate")
ctx.Response.SetHeader("Pragma", "no-cache")
ctx.Response.SetHeader("Expires", "0")
})
if err != nil {
log.Println("Hijack response headers err:", err)
return
}
go router.Run()
}
Thx