使用Volley,我发布了StringRequest,当我访问网址时出现错误,因为它是
https://www.google.com/?gfe_rd=cr&ei=vX8jVdTvOsOq8weigYHICA&gws_rd=cr&fg=1
但是,当使用 http 而不是上面的 https 时,它不会出错并且运行良好。
cookie和客户端代码如下,
DefaultHttpClient client_R = new DefaultHttpClient();
RequestQueue queue_R = Volley.newRequestQueue(this, new HttpClientStack(client_R));
CookieStore store_R = client_R.getCookieStore();
Cookie cookie_R = new BasicClientCookie("Example_Cookie", "80");
store_R.addCookie(cookie_R);
下面是logcat输出,
[199] BasicNetwork.performRequest: Unexpected response code 405 for https://www.google.com/?gfe_rd=cr&ei=TX4jVcChFaTj8wehzoCgCw&gws_rd=cr&fg=1
为什么会出错?有些网址有 https ,而是正在运作。
答案 0 :(得分:5)
问题是您使用 POST api请求来处理 GET 请求。 在StringRequest方法中,使用GET而不是POST。
StringRequest sr = new StringRequest(Request.Method.GET, String url, Listener<String> listener, ErrorListener errorListener);
答案 1 :(得分:0)
您是否为您的https请求使用SSL客户端。 您的405错误代码是&#34;方法不允许&#34;错误:see more here
要使用https,我使用带有TrustManager的OkHttpClient。