[Java] Java下通过发送http post请求的代码 →→→→→进入此内容的聊天室

来自 , 2021-01-11, 写在 Java, 查看 135 次.
URL http://www.code666.cn/view/0fd4b8a8
  1. package com.everyone.android.net;
  2.  
  3. import java.io.IOException;
  4. import java.io.InputStream;
  5. import java.io.OutputStream;
  6. import java.net.HttpURLConnection;
  7. import java.net.URL;
  8. import java.net.URLEncoder;
  9. import java.util.Map;
  10.  
  11. import org.apache.http.protocol.HTTP;
  12.  
  13. import com.everyone.android.callback.ParseCallback;
  14. import com.everyone.android.callback.ResultCallback;
  15.  
  16. /**
  17.  * 功能描述:通过HTTP协议发送POST请求
  18.  * @author android_ls
  19.  *
  20.  */
  21. public class AsyncHttpPost extends AsyncBaseRequest {
  22.  
  23.     /**
  24.      *
  25.      */
  26.     private static final long serialVersionUID = 3L;
  27.  
  28.     public AsyncHttpPost(String url, Map<String, String> parameter,
  29.             ParseCallback handler, ResultCallback requestCallback) {
  30.         super(url, parameter, handler, requestCallback);
  31.     }
  32.  
  33.     @Override
  34.     protected InputStream getRequestResult() throws IOException {
  35.         StringBuilder sb = new StringBuilder();
  36.         if(parameter!=null && !parameter.isEmpty()){
  37.             for(Map.Entry<String, String> entry : parameter.entrySet()){
  38.                 sb.append(entry.getKey()).append('=')
  39.                     .append(URLEncoder.encode(entry.getValue(), HTTP.UTF_8)).append('&');
  40.             }
  41.             sb.deleteCharAt(sb.length()-1);
  42.         }
  43.          
  44.         // 得到实体的二进制数据
  45.         byte[] entitydata = sb.toString().getBytes();
  46.         URL url = new URL(requestUrl);
  47.         mHttpURLConn = (HttpURLConnection)url.openConnection();
  48.         mHttpURLConn.setRequestMethod("POST");
  49.         mHttpURLConn.setConnectTimeout(5 * 1000);
  50.         // 如果通过post提交数据,必须设置允许对外输出数据
  51.         mHttpURLConn.setDoOutput(true);
  52.         mHttpURLConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
  53.         mHttpURLConn.setRequestProperty("Content-Length", String.valueOf(entitydata.length));
  54.         OutputStream outStream = mHttpURLConn.getOutputStream();
  55.         outStream.write(entitydata);
  56.         outStream.flush();
  57.         outStream.close();
  58.         if(mHttpURLConn.getResponseCode()== HttpURLConnection.HTTP_OK){
  59.             return mHttpURLConn.getInputStream();
  60.         }
  61.         return null;
  62.     }
  63.  
  64. }
  65. //java/7010

回复 "Java下通过发送http post请求的代码"

这儿你可以回复上面这条便签

captcha