dav*_*son 7 java google-app-engine http
我正在尝试在java中实现async http.这是代码的重要部分:
for (String urlString : urls)
{
// TODO: try and get rid of these two heap allocations
url = new URL(urlString);
request = new HTTPRequest(url);
request.addHeader(userAgentHeader);
request.addHeader(authorizationHeader);
request.addHeader(acceptEncodingHeader);
request.addHeader(acceptCharsetHeader);
responses.add(URLFetchServiceFactory.getURLFetchService().fetchAsync(reques t));
apiCallsMade++;
}
for (Future<HTTPResponse> futureResponse : responses)
{
parseResponse(new String(futureResponse.get().getContent()));
}
Run Code Online (Sandbox Code Playgroud)
我一直收到这个错误:
com.google.apphosting.api.ApiProxy $ CallNotFoundException:找不到API包'urlfetch'或调用'Fetch()'.
我环顾四周寻找类路径中缺少的任何罐子,但没有看到任何遗漏.你知道代码是哪个jar吗?我搜索了这个错误并搜索了这个组但没有发现任何内容.谢谢,大卫
使用Google appengine,您无法在本地Java应用程序中使用这些api.只有在使用google appengine sdk开发和部署Web应用程序时,这才有效.这只是为了这种方式而设计的.
当您使用此API时,它将使用http客户端,并且在应用程序引擎环境的情况下,它将使用谷歌基础设施.如果您仍想对为google appengine设计的应用程序进行单元测试,则可以考虑使用LocalURLServiceFactory.