【发布时间】:2015-07-19 13:59:14
【问题描述】:
我正在使用 Google 的网络库 Volley 来执行一组操作。特别是,我依靠StringRequest 来获取一些受保护页面的HTML。为了执行(经过身份验证的)请求,我总是在请求中添加一组 cookie。
问题是,没有任何明显原因,Volley有时给了我一个空的源代码! (这没有 204 状态码:它是纯 200)。
@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
// HERE: response.data sometimes has size 0!
// on the other hand, response.statusCode is 200.
// [...]
}
我完全确定这不是远程服务器的问题(当我使用 Web 浏览器导航相同的页面、使用相同的 cookie 时,一切都很好)。我也有很多关于TimeoutError 的问题(不知道它是否相关)。
我真的很想改用临时编写的东西来一劳永逸地解决问题,但是 Volley 开箱即用的多线程功能仍然是制约我的一个重要因素。
【问题讨论】:
-
您是否尝试过运行像 Charles 或 Fiddler2 这样的 HTTP 代理来确保获得正确的响应正文?
标签: android multithreading network-programming httpurlconnection android-volley