ClericPy / ichrome

Chrome controller for Humans, based on Chrome Devtools Protocol(CDP) and python3.7+.
https://pypi.org/project/ichrome/
MIT License
228 stars 29 forks source link

如何在已经实例化的AsyncChromeDaemon中进行代理修改 #96

Closed DASDASD12wsd closed 1 year ago

DASDASD12wsd commented 2 years ago
from ichrome import AsyncChromeDaemon

async def main():
    async with AsyncChromeDaemon(headless=True) as cd:
        proxy = "http://124.113.192.55:57114"
        async with cd.incognito_tab(proxyServer=proxy) as tab:
            # This tab will be created in the given BrowserContext
            await tab.goto('http://httpbin.org/ip', timeout=10)
            # print and watch your IP changed
            print(await tab.html)

asyncio.run(main())

在进行测试时发现,在参考reread文档尝试后,代理并不能添加成功,希望可以获取到帮助

ClericPy commented 2 years ago

我这段代码换了一个代理没发现问题, 这个代理不通

DASDASD12wsd commented 2 years ago

这一段代码执行确实没有问题,但是代理设置不上,打开这个网站之后ip还是显示的本机器的ip,但是如果在初始化AsyncChromeDaemon中设置proxy参数打开的网址ip显示的是代理ip

ClericPy commented 2 years ago

有更新到新版本么, 我用我自己这边可用的代理是没问题的, 是代理服务的问题么, 我还用 gost 在本地转发看了下也是有流量. 实在不行我出院以后再看看, 没代码没报错不太容易复现

PS: 一小时后去做个手术, 估计一周没法上线

DASDASD12wsd commented 2 years ago

包是最新的版本,chrome版本也是最新的,好的麻烦了,感谢

ClericPy commented 2 years ago

多换几个其他代理试试看... 昨天你这个代理我直接不通

DASDASD12wsd commented 2 years ago

昨天那个代理过期了,有时间限制。

DASDASD12wsd commented 2 years ago

经过在linux机器上面进行测试,发现linux上面可以设置代理成功,这个bug是由于chrome CPD协议中的Target.createBrowserContext处于EXPERIMENTAL,导致windows系统可能不会兼容。

ClericPy commented 2 years ago

没试过 Windows11, 目前来说用最新版跟着 CDP 协议还是够用的, 而且 linux 上一般用 ichrome 里的方式下载个绿色版 Chromium 也够用了, 就没太关心这些兼容性的情况

ClericPy commented 2 years ago

我... Windows 上突然也不成功了, 无语了

ClericPy commented 2 years ago

找到问题了... 默认的 chrome 我家里用的最新的, 估计不支持部分实验室功能

我用 python -m ichrome --install=./chrome-win 下载个 Chromium 来调试就通了... 忘了 linux 上也是 Chromium 调试的

ClericPy commented 1 year ago

关闭无人关注的问题