使用AppEngine获取Https URL

时间:2012-04-26 09:19:14

标签: java google-app-engine

此方面表示它可以通过提供的代码支持https。但是,Appengine SDK抱怨说:

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

2 个答案:

答案 0 :(得分:3)

请参阅urlfetch(适用于Java和Python):https://developers.google.com/appengine/docs/java/urlfetch/

  

App Engine应用程序可以与其他应用程序通信或   通过提取URL访问Web上的其他资源。一个应用程序可以使用   URL抓取服务以发出 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 。如果URL中未提及端口,   该方案隐含了该端口:http:// ...是端口80,https:// ...   是443号港口。

答案 1 :(得分:1)