我一直在努力使用几个类实现来检索分块数据,但没有成功。以下是有问题的简化代码模块。在网上冲浪后,过去似乎出现过问题(2009、2010;1.1、1.5 版),但现在应该已经解决了。我还没有看到这个协议在 Android 平台上取得了任何明确的成功。
帮助!
如果我输入了无效的令牌,我能够看到一些响应——Web 服务将响应应用程序错误消息。但是,有效的 url 和令牌将简单地响应分块协议的检测(isChunked() 返回 true),但没有任何内容被读取,也没有任何超时等。
从命令行使用 CURL 发出的完全相同的 URL 按预期工作并显示连续内容(从 Web 服务发布的数据)。
是否有任何网络服务方面的黑客攻击,例如,添加更多的行尾,以强制接收流?
URI uri;
try {
uri = new URI("http://cws.mycompany.com/service/events?accesskeyid=8226f3ddc65a420abc391d8f1fe12de44766146762_1298174060748");
HttpClient httpClient=new DefaultHttpClient();
HttpGet httpGet=new HttpGet(uri);
ResponseHandler<String> rh=new BasicResponseHandler();
String responseString=httpClient.execute(httpGet,rh);
Log.d(TAG, "response as string:\n" + responseString);
} catch (URISyntaxException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
} catch (ClientProtocolException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
} catch (IOException e) {
Log.e(TAG, e.toString());
e.printStackTrace();
}