主題: [求助] [求助] 一個困擾我很久的proxy 問題 [打印本頁]
發表人:
lalala456 時間: 2006-8-4 01:28 PM 主題: [求助] 一個困擾我很久的proxy 問題
懇請各方大徳能幫忙解答,感激不盡
問題大概就是:
有兩個prxoy server A,B
(兩者都是http proxy,而且我只有使用的權限沒辦法更改他們的設定)
其中proxy A的連外速度比較快
B 的速度相較於A就慢很多
但是A 有ban 掉某些ip(還挺多的) ,而且無法事先得知有哪些ip 被ban 掉
proxy A ban 掉ip 是根據流量來決定的
B 的速度雖然比較慢 ,但是目前現況是所有的ip 都可以連
然後如果是遇到A ban 掉的ip 的話,http status 是傳回403 (拒絕連線)
目前小弟想要透過一個單一的管道(也就是不用讓使用者一直不斷的切換proxy)
希望能夠預設是使用A proxy,遇到A ban 掉的ip 的話,自動使用B proxy 來連線
目前想到的做法大概分成兩方面
1. 使用PAC 檔案(Proxy Auto-Config)
(a)using ajax
在javascript 中,似乎沒有一個function 可以判斷用proxy 連線後,回傳回來的http status
號碼是多少.(using XMLrequest)
PS:我沒有測試過ajax 的code 是否可以放入pac 檔案
(b)using cgi
cgi 裡面可以得到的變數只有REMOTE_ADDR 很明顯的,這不是我想要的
似乎沒有方法可以得到request 的url
2. 另外架設一個proxy server
使用squid的話
我沒有找到一個設定的方式可以同時指定當父proxy 無法連接的時候,
可以在指定另外一個父proxy,如果有人知道怎樣設定請告訴我
[lalala456 在 2006-8-6 10:36 AM 作了最後編輯]
發表人:
icon 時間: 2006-8-4 09:39 PM
ㄟ...我知道的不多,只想到在windows下一個滿簡單的做法,就是自己寫一個在client跑的程式
裡面擺好web browser控制項,擺擺需要輸入設定的控制項物件
然後重點是web browser裡面可以設定proxy參數
當此參數為a proxy且開啟不了網頁的時候
自動改設成b proxy,再連一次線即可
其它邏輯判斷細節就不多打了
發表人:
RetupmocSoft 時間: 2006-8-5 10:03 AM
假如樓主用的是 FireFox
則這個問題相當簡單
也不用寫程式,因為早有人寫好了
這個 SwitchProxy 允許創建非常多個不同的 Proxy
而且可以隨時切換
https://addons.mozilla.org/firefox/125/
我用這個方式很久了,也很方便.
發表人:
Yaohooo 時間: 2006-8-5 11:13 PM
如果用 Firefox 的另外一個選擇是 FoxProxy
引用:
why is foxyproxy better?
* Define multiple proxies
* Define which proxy to use (or none!) for arbitrary URLs using wildcards, regular expression and other conveniences
* No more wondering whether a URL loaded through a proxy or not: FoxyProxy includes optionally logs all URLs, including which proxy was used (if any), which pattern was matched, timestamps, etc.
* Out-of-the-box support for Tor with the unique Tor Wizard - zero configuration!
* Temporarily or permanently dedicate all URLs to go through a particular proxy
* Temporarily or permanently disable use of a proxy
* Optional status bar information about which proxy is currently in use
* Complete Proxy Auto-Config (PAC) support
* Settings can be stored and retrieved remotely so you don't have to duplicate proxy definitions for each and every computer (coming soon)
* Download a link using one of your defined proxies with a simple right-click (coming soon)
* Unobtrusive presence, stable execution, premier support
* Optionally force Firefox to perform DNS lookups through a SOCKS4a/5 server. Note that Firefox without FoxyProxy always performs DNS lookups through a SOCKS5 server if you've defined one. Only with FoxyProxy can you instruct Firefox to not use defined SOCKS5 servers for DNS lookups.
發表人:
lalala456 時間: 2006-8-6 10:44 AM
To icon:
感謝你提供這個方式,不過如果這樣的話
就等於強迫必須要使用某些特定的瀏覽器(自己開發的)
所以我希望能夠盡量使用server side 方式來處理
To RetupmocSoft,Yaohooo
我的需求是希望能夠自動切換proxy
而不是手動切換
我知道確實可以使用那些extension來達到目的,不過那是需要手動切換的
(我知道foxyproxy 可以指定那些url 使用哪些proxy ,不過問題在於我無法事先得知
哪些url 是proxy a 所ban 的)
不過還是很感謝以上回答問題的大大送上
發表人:
lovelegend 時間: 2006-8-6 12:56 PM
其實結論就是 proxy A 不是好的 proxy...
外面 proxies 一大堆, 其實無必要一定要用 proxy A 吧?
發表人:
Yaohooo 時間: 2006-8-6 03:03 PM
引用:
lalala456寫到:
我的需求是希望能夠
自動切換proxy
而不是手動切換
我知道確實可以使用那些extension來達到目的,不過那是需要手動切換的
FoxyProxy 可預設多個 Proxy, 同時啟動,這是個人使用它的原因,最少可以不用經常手動去做設定,
Rule(s) 可選擇,而同一個 Rule 可以在多個 proxy 出現
引用:
lalala456寫到:
(我知道foxyproxy 可以指定那些url 使用哪些proxy ,不過問題在於我
無法事先得知
哪些url 是proxy a 所ban 的)
請參考其中功能 - AutoAdd:
Specify a pattern that identifies blocked websites. When the pattern is found on a page, a pattern matching that website's URL is automatically added to a proxy and optionally reloaded. This prevents you from having proactively identify all blocked websites.
發表人:
lalala456 時間: 2006-8-7 03:12 PM
To lovelegend :
每個地方都會有每個地方的規定
你的結論是對的...proxy a 確實不是一個好的proxy
不過我這裡規定是,你要連外,除非是透過proxy a or proxy b 不然是連不出去的><
所以..............
To Yaohooo:
試用過了,確實可以達到需求....
唯一美中不足的地方,就是cpu loading 過重
他是根據網頁內容來判斷的(When the pattern is found on a page)
,所以如果網頁內容越複雜,他判斷越久
還可以讓Firefox沒有回應>.<"
所以如果他是根據http status 來判斷的話,那就可以完美的達到我的需求了QQ
發表人:
badcat 時間: 2006-8-16 10:35 PM
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
試試 MultiProxy 看能不能解決你的問題?
官方網址 (Freeware)
http://www.multiproxy.org/
教學 (繁體中文)
http://www.how2use.idv.tw/teachsoft/teach_multiproxy.htm
-----BEGIN PGP SIGNATURE-----
Version: PGP 8.1
iQA/AwUBROMsqBl3yhBVZiD/EQK8tQCeO8L+ridvuUh/+wRS2qFiUrpZyGQAn2un
57/+Jxqvwtky+sPTEVGxsfRz
=pREP
-----END PGP SIGNATURE-----
歡迎光臨 TWed2k (http://twed2k.org/) |
Powered by Discuz! 4.1.0 |