Re: [问题] 有多个实体ip, 如何指定ie出去的ip

楼主: Litfal (Litfal)   2016-06-04 15:05:57
※ 引述《sam319 (Sam)》之铭言:
: 电脑上有4个实体ip
: 然后用HttpWebRequest指定这4个ip登入不同帐号
: 登入后的Cookie再拿来喂给ie
: 但因为网站给的Cookie有跟ip做绑定
: 所以除了主ip可以正常用ie开启登入后的网页外
: 其他的ip用ie开启后都会被踢出
: 有试过动态修改route表
: 虽然可以达到变更ie出去的ip
: 但缺点是一次也只能针对某个ip开启网页
: 且一旦变动route表后
: 远端连线马上就被踢出去了
: 要一直重连也非常困扰
: 想请问有可能去拦截ie的请求
: 并调用HttpWebRequest指定ip代位请求后
: 再把结果拿去喂给ie显示吗?
: 或是有更简单的方式吗?
: 谢谢
方法一:
使用WebBrowser,使用Navigating事件,拦截特定Uri。
取消Navigate ( e.Cancel = true; ),
并自己用HttpWebRequest做Request,
最后把Response的Stream指派给WebBrowser的DocumentStream。
缺点:一些网页script可能会不太正常,但最简单。
方法二:
你有几个IP就架几个Proxy Server,proxy指定对外ip。
proxy server怎么架,路由怎么配合请自己google。
https://goo.gl/Ha5cDm
用这篇的方法去指定proxy,它只会影响当前程序WebBrowser的Proxy。
多开几个程式,指定不同proxy,就可以透过proxy用多个实体IP。
方法三:
自己搞Proxy Server,自己决定用哪个IP出去。
Proxy Server用Socket就可以实作出来,当然就可以设定用哪个outgoing IP。
也有一些现成的Library,但不一定符合你的需求。
可以做到
(一个或多个)主程式 → 另一个程式的Proxy → 使用不同outgoing ip

主程式 → 自带Proxy使用指定的IP → WebBrowser设定连到自带的Proxy
这个方法最麻烦,但可以搞的东西最多。
刚抽到嫁兰心情好,回一下
作者: YahooTaiwan (超可爱南西我老婆)   2016-06-04 17:50:00
方法三最好,学会这招,很多地方用得到
作者: sam319 (Sam)   2016-06-05 02:42:00
第一个方法我之前试过,但网页上有ajax请求就拦不到了第二个在部属上不是那么方便,应该会用第三个作法也是我一开始希望的拦截方式,感谢不吝赐教^_^

Links booklink

Contact Us: admin [ a t ] ucptt.com