作者Litfal (Litfal)
看板C_Sharp
标题Re: [问题] 有多个实体ip, 如何指定ie出去的ip
时间Sat Jun 4 15:05:57 2016
※ 引述《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
这个方法最麻烦,但可以搞的东西最多。
刚抽到嫁兰心情好,回一下
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.160.23.228
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1465023960.A.C66.html
1F:推 YahooTaiwan: 方法三最好,学会这招,很多地方用得到 06/04 17:50
2F:推 sam319: 第一个方法我之前试过,但网页上有ajax请求就拦不到了 06/05 02:42
3F:→ sam319: 第二个在部属上不是那麽方便,应该会用第三个作法 06/05 02:44
4F:→ sam319: 也是我一开始希望的拦截方式,感谢不吝赐教^_^ 06/05 02:45