※ 引述《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
這個方法最麻煩,但可以搞的東西最多。
剛抽到嫁蘭心情好,回一下