iT邦幫忙

0

開發工具的調整問題

  • 分享至 

  • xImage

請教大家
因為要寫個翻譯工具來使用,但因為滿多電腦都無法直接使用網路的,也因此原本想透過下列的方式,在一台電腦中 (目前允許的方式是只能走proxy的方式連到指定的網址),透過下列語法 (參考網址:http://www.bing.com/widget/translator)

<div id='MicrosoftTranslatorWidget' class='Dark' style='color:white;background-color:#555555'></div><script type='text/javascript'>setTimeout(function(){{var s=document.createElement('script');s.type='text/javascript';s.charset='UTF-8';s.src=((location && location.href && location.href.indexOf('https') == 0)?'https://ssl.microsofttranslator.com':'http://www.microsofttranslator.com')+'/ajax/v3/WidgetV3.ashx?siteData=ueOIGRSKkd965FeEGM5JtQ**&ctf=True&ui=true&settings=Manual&from=';var p=document.getElementsByTagName('head')[0]||document.documentElement;p.insertBefore(s,p.firstChild); }},0);</script>

但卻發現跟我想的不一樣,client端的其他台電腦還是要可以連網路後,才可以使用此翻譯功能,有沒有其他程式語言是可以透過proxy設定連網後來傳回網路的查詢翻譯結果來給其他不能連網的電腦使用呢?
煩請大家指點迷惑,謝謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

6
wiseguy
iT邦超人 1 級 ‧ 2015-11-23 10:20:34
最佳解答

聽起來,你可能不瞭解 proxy 的運作原理,才會有誤解。
proxy 並不是單純一人抓了資料,其它人就能使用這麼簡單。第一人抓的資料要能暫存,必須在 http head 有非私用資料宣告,且 URL 是靜態檔案,而不是動態資料 (有 query string 或 method=POST 都會被認為是動態資料)。
你的情境下:

  1. ajax 幾乎都有 query string,大多不會被 cache。
  2. 就算你強制 cache,後面人所要翻譯的資料也不見得會跟前人一樣。這得 cache 多少資料後,才有可能有一點點的重覆利用。
  3. 更何況 proxy server 是你管的嗎?若不是,你又怎麼控制它該 cache 什麼,cache 多久?
    所以很遺憾的說,你的構想,不切實際,且沒有價值。
外獅佬 iT邦大師 1 級 ‧ 2015-11-23 14:48:55 檢舉

iT邦幫忙MVPwiseguy提到:
不切實際,且沒有價值

+10000

外獅佬 iT邦大師 1 級 ‧ 2015-11-23 15:32:06 檢舉

每個user送出的翻譯請求可能都不一樣,就算有能力搞proxy,也不可能把所有的翻譯結果都cache起來

外獅佬 iT邦大師 1 級 ‧ 2015-11-23 15:33:38 檢舉

光是Apple就可以有很多的翻譯結果
apple
Apple
Big Apple

我要發表回答

立即登入回答