java - 如何使用 com.google.api.client.extensions.appengine.http.UrlFetchTransport 获取 index.html

标签 java google-app-engine google-api-java-client google-http-client

我不知道如何使用这个API来获取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);
    }
}

最佳答案

您可以找到samples here以及有关图书馆的信息here 。要使用该库获取文件,只需对该文件发出 get 请求即可。 index.html 页面也不异常(exception)。

这是一个基本示例:

您使用的 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保存到文件、打印它或任何您想要的内容。这将是浏览器看到的完整文件。

关于java - 如何使用 com.google.api.client.extensions.appengine.http.UrlFetchTransport 获取 index.html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16521100/

相关文章:

使用 Hibernate 标准查询的 Java 类转换异常

java - 如何转换 int 以返回字符串,这就是我们所说的 int

google-app-engine - 错误 : invalid_client with Google Apps API OAuth2

android - 用户退出 : clearing the default Google account does not cause the account picker to show up in Android app

java - 如何告诉assertJsonEquals在比较时忽略一个字段

java - 将滚动条添加到 JList ,将 JList 添加到 JPanel

java - 如何以编程方式测量请求的成本(cpm_usd)?

android - 针对示例 Google App Engine 项目 (Java) 运行 TicTacToe 示例 (Android) 时出现 404 错误

python - 使用谷歌应用引擎和 python 合并 2 个图像?

android - AccountManager.KEY_INTENT 在 TaskSample 示例代码中的样子