今天在测试splash的时候,发现代理无法使用.

splash:on_request(function(request)
    request:set_proxy{
        host = "127.0.0.1",
        port = 7890,
    }
end)

然后百度查了一圈,没有一个说到的,只好去谷歌查.
查来查去,发现原来是因为docker的ip地址不对,因为docker里的容器每一个都相当于是localhost,也可以说是127.0.0.1所以无法使用127.0.0.1当作代理地址使用,然后说可以用host.docker.internal代替127.0.0.1但是我配置上并不能使用.

因为我在Linux上用的是clash,所以我在看代理的时候,发现了一个东西
clash启动
这里出现了一个ip地址,其实也就是虚拟机的ip地址,那么我们尝试用这个当作代理地址可以么.

function main(splash, args)
    splash:on_request(function(request) request:set_proxy{ host = "192.168.71.139", port = 7890, } end)
    assert(splash:go(args.url))
    assert(splash:wait(0.5))
    return {
        html = splash:html(),
        title = splash:evaljs('document.title'),
        png = splash:png()
    }
end

显而易见,通过虚拟机的ip代理就能轻松访问谷歌了.
splash set_proxy connect google

最后修改:2022 年 04 月 07 日 01 : 37 PM
如果觉得我的文章对你有用,请随意赞赏