2012-04-26 99 views
2

此方面表示,它可以通過提供的代碼支持https。但是,Appengine SDK抱怨:使用AppEngine獲取Https URL

java.net.InetAddress is not supported by Google App Engine's Java runtime environment 

java.net.Socket is not supported by Google App Engine's Java runtime environment 

javax.net.ssl.SSLSession is not supported by Google App Engine's Java runtime environment 
+0

我的觀點是我們如何才能從appengine代碼中進行「休息」? – xybrek 2012-04-26 09:24:30

+0

很明顯,是的。 urlfetch執行HTTP或HTTPS請求,該請求基本上調用給定的URL,並且這基本上是RESTful。 – 2012-04-27 17:53:01

回答

3

請參閱網址抓取(適用於Java和Python):https://developers.google.com/appengine/docs/java/urlfetch/

App Engine應用程序可以通過獲取網址,網絡上的其他應用程序或 訪問其他資源進行通信。應用程序可以使用 網址提取服務發出HTTP和HTTPS請求並接收 響應。網址提取服務使用Google的網絡基礎設施 以達到效率和擴展目的。

實施例:

import java.net.MalformedURLException; 
import java.net.URL; 
import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.io.IOException; 

// ... 
     try { 
      URL url = new URL("http://www.example.com/atom.xml"); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream())); 
      String line; 

      while ((line = reader.readLine()) != null) { 
       // ... 
      } 
      reader.close(); 

     } catch (MalformedURLException e) { 
      // ... 
     } catch (IOException e) { 
      // ... 
     } 

關於HTTP(S):

加以取出,可以使用在以下範圍內的任何端口號的URL: 80-90,440-450,1024-65535。 HTTP:如果端口未在URL中提到, 端口被計劃暗示// ...是80端口,https://開頭... 是端口443