使用HttpURLConnnection连接服务端,老是报错405怎么回事,其他方法调用就没事。
private String toRegist(String phone,String phoneCode,String password) { HttpURLConnection conn = null; PrintWriter printWriter = null; BufferedReader bufferedReader = null; StringBuffer responseResult = new StringBuffer(); try { String newUrl = URL +"?phone="+ phone + "&phoneCode=" + phoneCode + "&password=" + password; URL url = new URL(newUrl); conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("POST");// 提交模式 conn.setRequestProperty("Content-Type", "plain/text; charset=UTF-8"); // 设置通用的请求属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); conn.connect(); // 根据ResponseCode判断连接是否成功 int responseCode = conn.getResponseCode(); if (responseCode != 200) { System.out.println("Not Success"); } else { System.out.println("Success"); } // 定义BufferedReader输入流来读取URL的ResponseData bufferedReader = new BufferedReader(new InputStreamReader( conn.getInputStream())); String line; while ((line = bufferedReader.readLine()) != null) { responseResult.append(line); } /* 关闭DataOutputStream */ } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); }finally{ conn.disconnect(); try { if (printWriter != null) { printWriter.close(); } if (bufferedReader != null) { bufferedReader.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return responseResult.toString(); }
参数是我自己拼上的,到底是哪里的错误,纠结万分。
405说明你请求方法不对,从你的URL上来看,这个请求应该是GET才对。
405说明你请求方法不对,从你的URL上来看,这个请求应该是GET才对。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。