1

我不知道如何使用这个API来获取一个index.html如何使用com.google.api.client.extensions.appengine.http.UrlFetchTransport获得一个index.html

请出示我是一个样本。

这是我的完整代码,HTTP错误500

package com.webrt; 

import java.io.IOException; 
import javax.servlet.http.*; 

import com.google.api.client.extensions.appengine.http.UrlFetchTransport; 
import com.google.api.client.http.GenericUrl; 
import com.google.api.client.http.HttpRequest; 
import com.google.api.client.http.HttpRequestFactory; 

@SuppressWarnings("serial") 
public class WebRTServlet extends HttpServlet { 
    public void doGet(HttpServletRequest req, HttpServletResponse resp) 
      throws IOException { 
     resp.setContentType("text/plain"); 

     UrlFetchTransport HTTP_TRANSPORT = new UrlFetchTransport(); 
     HttpRequestFactory httprequestFactory = HTTP_TRANSPORT 
       .createRequestFactory(); 
     GenericUrl url = new GenericUrl("http://www.google.com"); 
     HttpRequest request = httprequestFactory.buildGetRequest(url); 
     String index = request.execute().parseAsString(); 
     System.out.println(index); 
    } 
} 

回答

2

你可以找到samples here和有关图书馆here信息。要使用该库获取文件,只需为该文件发出获取请求。 index.html页面也不例外。

这是一个基本示例:

您使用不应该在这方面事情的HTTP传输。 UrlFetchTransport对于AppEngine应用程序非常有用,但它只是进行HTTP调用的手段。无论您将哪个传输设置为常量HTTP_TRANSPORT(UrlFetch,NetHttp等),下面的代码应该可以工作。

HttpRequestFactory requestFactory = HTTP_TRANSPORT.createRequestFactory(); 
GenericUrl url = new GenericUrl("http://example.iana.org/index.html"); 
HttpRequest request = requestFactory.buildGetRequest(url); 
String index = request.execute().parseAsString(); 

从这里你可以将index保存到一个文件,打印它,或任何你想要的。这将是浏览器会看到的完整文件。

+0

我试过了但不起作用... – whisper 2013-05-14 05:00:11

+0

@ user2354622你必须要更具体。请更新您的问题,以解释什么是不工作,错误信息是什么,你写的是什么代码导致的问题。 – 2013-05-14 14:29:51

+0

HTTP错误500 访问/ webrt时出现问题。原因: com/google/api/client/http/HttpTransport – whisper 2013-05-15 13:46:51