[英]OkHttpClient get response body
我想得到正文响应,但收到错误403,尽管该页面在Webview和浏览器中打开。 我的代码:
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(url)
.build();
client.newCall(request).enqueue(new Callback()
{
@Override
public void onFailure(Call call, IOException e)
{
Log.e("Error load URL", e.toString());
}
@Override
public void onResponse(Call call, Response response) throws IOException
{
if (response.isSuccessful())
{
htmlPage = response.body().string();
}
else
{
//I find myself here.
Log.e("Error load URL", "Response error");
}
}
});
来自服务器的响应:
响应{协议= http / 1.1,代码= 403,消息=禁止访问,网址= http://shop.lenovo.com/SEUILibrary/controller/e/web/LenovoPortal/en_US/cart.workflow:ShowCart?shopping-menu- selected-line = cart&menu-id = currentcart }
在浏览器中,一切都很好。 为什么?
确保您的客户端已授权或验证了Web服务。 如果您正在调用的Web服务上启用了安全性,尝试对Web服务进行身份验证/授权,然后开始使用它,则会发生这种情况。
扩展到Kiran,403代表授权问题。 不是身份验证问题。 在浏览器中,很有可能使用Cookie来管理身份验证和授权,而您的代码可能无法处理该Cookie。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.