繁体   English   中英

OkHttpClient获取响应正文

[英]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");
                            }
                        }
                    });

url =“ http://shop.lenovo.com/SEUILibrary/controller/e/web/LenovoPortal/en_US/cart.workflow:ShowCart?shopping-menu-selected-line=cart&menu-id=currentcart

来自服务器的响应:

响应{协议= 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM