2012-06-18 54 views
1

我有一個用python編寫的谷歌應用程序引擎上的應用程序。我想通過代理從我的應用程序中獲取網址。我發現兩種方法可以從AppEngine上獲取遠程網址:通過谷歌應用程序引擎上的代理提取網址

  1. 使用urlfetch
  2. 使用Python內置的urllib2

展望爲網址抓取文件,我沒有發現任何方式設置代理。所以我開始玩urllib2。 我已經試過這樣:

class MainHandler(webapp.RequestHandler): 
    def get(self): 
     proxy_handler = urllib2.ProxyHandler({'http': "210.246.88.46:8080",}) 
     opener = urllib2.build_opener(proxy_handler) 
     resp = opener.open("http://whatsmyuseragent.com/", timeout=20) 
     self.response.out.write(resp.read()) 

不過貌似AppEngine上忽略代理,並獲取網址與自己的IP。顯示應用程序的結果頁面ip,而不是代理的ip。 在documentation據說ip不能改變。我想,這意味着我不能在HTTP標頭中手動更改IP,但我仍然可以使用代理。

但是,我想確切地知道,是否有可能通過代理上取得url或不,並停止打破我的頭:)。

+0

的可能重複問題/ 8799886 /網址抓取隱藏-A-代理SERV er-on-app-engine-production) – geoffspear

+0

@Wooble感謝您的關注。但我認爲它不能回答我的問題。我無權訪問代理,也無法修改其行爲。 – stalk

回答

1

我認爲這是在這裏

https://code.google.com/p/googleappengine/issues/detail?id=544

票關閉提到在App引擎中的錯誤,但錯誤依然存在,據我可以告訴(上SDK 1.9.8)

人都寫一些代碼/補丁的Java和Python引擎,我還沒有試過[代理服務器之後,在App Engine上生產的URLFetch(http://stackoverflow.com/但