android HttpURLConnection post 参数

    xiaoxiao2021-03-25  247

    HttpURLConnection代码

    …… conn = (HttpURLConnection) url.openConnection(); //使用URL打开一个链接 conn.setRequestMethod("POST"); //小写无效 // 设置是否向httpUrlConnection输出,因为这个是post请求,参数要放在 // http正文内,因此需要设为true, 默认情况下是false; conn.setDoOutput(true); // 设置是否从httpUrlConnection读入,默认情况下是true; conn.setDoInput(true); // Post 请求不能使用缓存 conn.setUseCaches(false); //设置请求属性 conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); conn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接 conn.setRequestProperty("Charset", "UTF-8"); conn.setConnectTimeout(30000); //30秒连接超时 conn.setReadTimeout(30000); //30秒读取超时 //建立输入流,向指向的URL传入参数(可以不写) conn.connect(); DataOutputStream dos = new DataOutputStream(this.conn.getOutputStream()); if (!HttpParam.isEmpty()) { for (Object o : HttpParam.entrySet()) { Map.Entry entry = (Map.Entry) o; String param = URLEncoder.encode((String) entry.getKey(), "UTF-8") +"="+ URLEncoder.encode((String) entry.getValue(), "UTF-8"); //此处加入“&”符号为参数分割符 dos.writeBytes(param+"&"); } } dos.flush(); dos.close(); ……

    记要

    1.请求应放置于子线程中执行 2.请求有开始语句就应该有结束语句 3.post 请求如果不加分割符号 只会识别一个参数

    转载请注明原文地址: https://ju.6miu.com/read-237.html

    最新回复(0)