【发布时间】:2015-10-01 13:37:28
【问题描述】:
当我使用同步连接到 HTTPS 服务器时,我得到了 SSLHandshakeException。如果我对同一个 url 使用异步连接,我无法得到两个不同的答案:
案例 1:如果我直接从主线程调用异步请求,我会得到一个 403 禁止和空响应正文。
案例 2:如果我从 main 调用的 AsyncTask 调用异步请求,我会得到 200 和我期望的正确响应正文。
所以我的问题是,为什么同步请求会失败,为什么我必须通过 AsyncTask 调用异步请求才能得到预期的答案?
更新 看起来在 AsyncTask 中调用同步请求的问题是 OKHttp 客户端的身份验证器没有完成设置身份验证器,因此我收到了握手异常。
最后更新 让它工作。重构了发布字符串。从获取地图的 toString 到创建 JSONObject。不知何故,授权通过了,甚至没有必要增加超时。
【问题讨论】:
-
你遇到了什么错误?
标签: android https android-asynctask okhttp