httpclient UrlEncodedFormEntity

Veritas NetBackup8.1.1安装 1.在服务器上运行Browser.exe 2.选中安装,点击"NetBackup Server Software Installation" 3.提示一个”UAC模式”,我们确定忽略它 4.下一步 5.接受授权,下一步 6.自定义安装 7.输入Key,并点击”netBackup Master Server” 8.自定义路径,下一步 9.默认端口,下一步 10.创建内置账户 创建本地用户帐户: C:\>net user nbwebsvc <StrongPassword> / 阅读详情

UrlEncodedFormEntity这个类是用来把输入数据编码成合适的内容,下面以注册的时候传递的参数为例:

注册的时候写的一个异步线程:


  1. private void registe()  
  2. {  
  3.     new Thread(new Runnable() {  
  4.           
  5.         @Override  
  6.         public void run() {  
  7.             // TODO Auto-generated method stub  
  8.             ArrayList<BasicNameValuePair> data = new ArrayList<BasicNameValuePair>();//用来存放post请求的参数,前面一个键,后面一个值  
  9.             data.add(new BasicNameValuePair(“username”, username));//把昵称放进去  
  10.             data.add(new BasicNameValuePair(“password”, password));//把密码放进去  
  11.             handler.sendMessage(handler.obtainMessage(100,httpTools.doPost(Constants.URL_REGISTE, data)));//发送一个handler消息(100),后面的参数为发送的result,是执行异步请求后返回的结果值  
  12.         }  
  13.     }).start();  
  14. }  
    private void registe()
    {
        new Thread(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                ArrayList<BasicNameValuePair> data = new ArrayList<BasicNameValuePair>();//用来存放post请求的参数,前面一个键,后面一个值
                data.add(new BasicNameValuePair("username", username));//把昵称放进去
                data.add(new BasicNameValuePair("password", password));//把密码放进去
                handler.sendMessage(handler.obtainMessage(100,httpTools.doPost(Constants.URL_REGISTE, data)));//发送一个handler消息(100),后面的参数为发送的result,是执行异步请求后返回的结果值
            }
        }).start();
    }

两个键值对,被UrlEncodedFormEntity实例编码后变为如下内容:

param1=value1&param2=value2


然后看下doPost方法:

  1. public String doPost(String url, ArrayList<BasicNameValuePair> data) {  
  2.   
  3.     try {  
  4.         //UrlEncodedFormEntity这个类是用来把输入数据编码成合适的内容  
  5.         //两个键值对,被UrlEncodedFormEntity实例编码后变为如下内容:param1=value1¶m2=value2  
  6.         UrlEncodedFormEntity entity = new UrlEncodedFormEntity(data,  
  7.                 HTTP.UTF_8);//首先将参数设置为utf-8的形式,  
  8.         String result = ”“;//向服务器请求之后返回的数据结果  
  9.         HttpClient httpClient = new DefaultHttpClient();//申明一个网络访问客户端  
  10.         HttpPost post = new HttpPost(url);//post方式  
  11.         post.setEntity(entity);//带上参数  
  12.         HttpResponse httpResponse = httpClient.execute(post);//响应结果  
  13.         if (httpResponse.getStatusLine().getStatusCode() == 200) {//如果是200  表示成功  
  14.             result = EntityUtils.toString(httpResponse.getEntity());//把结果取出来  是一个STRING类型的  
  15.         }  
  16.   
  17.         return result;  
  18.     } catch (Exception e) {  
  19.         Log.i(”post_exception”, e.toString());  
  20.         return null;  
  21.     }  
  22. }  
  public String doPost(String url, ArrayList<BasicNameValuePair> data) {

        try {
            //UrlEncodedFormEntity这个类是用来把输入数据编码成合适的内容
            //两个键值对,被UrlEncodedFormEntity实例编码后变为如下内容:param1=value1¶m2=value2
            UrlEncodedFormEntity entity = new UrlEncodedFormEntity(data,
                    HTTP.UTF_8);//首先将参数设置为utf-8的形式,
            String result = "";//向服务器请求之后返回的数据结果
            HttpClient httpClient = new DefaultHttpClient();//申明一个网络访问客户端
            HttpPost post = new HttpPost(url);//post方式
            post.setEntity(entity);//带上参数
            HttpResponse httpResponse = httpClient.execute(post);//响应结果
            if (httpResponse.getStatusLine().getStatusCode() == 200) {//如果是200  表示成功
                result = EntityUtils.toString(httpResponse.getEntity());//把结果取出来  是一个STRING类型的
            }

            return result;
        } catch (Exception e) {
            Log.i("post_exception", e.toString());
            return null;
        }
    }

我的代码就这些  下面的参考代码:

  1. package com.example.helloandroidhttp;  
  2.   
  3. import java.io.BufferedReader;  
  4. import java.io.IOException;  
  5. import java.io.InputStream;  
  6. import java.io.InputStreamReader;  
  7. import java.io.UnsupportedEncodingException;  
  8. import java.net.URLEncoder;  
  9. import java.util.ArrayList;  
  10. import java.util.List;  
  11. import java.util.Map;  
  12.   
  13. import org.apache.http.HttpEntity;  
  14. import org.apache.http.HttpResponse;  
  15. import org.apache.http.NameValuePair;  
  16. import org.apache.http.client.HttpClient;  
  17. import org.apache.http.client.entity.UrlEncodedFormEntity;  
  18. import org.apache.http.client.methods.HttpGet;  
  19. import org.apache.http.client.methods.HttpPost;  
  20. import org.apache.http.entity.ByteArrayEntity;  
  21. import org.apache.http.entity.StringEntity;  
  22. import org.apache.http.impl.client.DefaultHttpClient;  
  23. import org.apache.http.message.BasicNameValuePair;  
  24. import org.apache.http.params.BasicHttpParams;  
  25. import org.apache.http.params.HttpConnectionParams;  
  26. import org.apache.http.params.HttpParams;  
  27.   
  28. import android.util.Log;  
  29.   
  30. public class HttpUtilsApache {  
  31.   
  32.     private static final String LOG_TAG = “Http->Apache”;  
  33.     private static final String HEADER_CONTENT_TYPE = “Content-Type”;  
  34.     /** 
  35.      * Default encoding for POST or PUT parameters. See 
  36.      * {@link #getParamsEncoding()}. 
  37.      */  
  38.     private static final String DEFAULT_PARAMS_ENCODING = “UTF-8”;  
  39.   
  40.     /** 
  41.      * Returns which encoding should be used when converting POST or PUT 
  42.      * parameters returned by {@link #getParams()} into a raw POST or PUT body. 
  43.      * 
  44.      * <p> 
  45.      * This controls both encodings: 
  46.      * <ol> 
  47.      * <li>The string encoding used when converting parameter names and values 
  48.      * into bytes prior to URL encoding them.</li> 
  49.      * <li>The string encoding used when converting the URL encoded parameters 
  50.      * into a raw byte array.</li> 
  51.      * </ol> 
  52.      */  
  53.     public static String getParamsEncoding() {  
  54.         return DEFAULT_PARAMS_ENCODING;  
  55.     }  
  56.   
  57.     public static String getBodyContentType() {  
  58.         return “application/x-www-form-urlencoded; charset=”  
  59.                 + getParamsEncoding();  
  60.     }  
  61.   
  62.     public static String performGetRequest(String url) {  
  63.   
  64.         String result = null;  
  65.         // 生成一个请求对象  
  66.         HttpGet httpGet = new HttpGet(url);  
  67.   
  68.         // 1.生成一个Http客户端对象(带参数的)  
  69.         HttpParams httpParameters = new BasicHttpParams();  
  70.         HttpConnectionParams.setConnectionTimeout(httpParameters, 10 * 1000);// 设置请求超时10秒  
  71.         HttpConnectionParams.setSoTimeout(httpParameters, 10 * 1000); // 设置等待数据超时10秒  
  72.         HttpConnectionParams.setSocketBufferSize(httpParameters, 8192);  
  73.   
  74.         HttpClient httpClient = new DefaultHttpClient(httpParameters); // 此时构造DefaultHttpClient时将参数传入  
  75.         // 2.默认实现:  
  76.         // HttpClient httpClient = new DefaultHttpClient();  
  77.         httpGet.addHeader(HEADER_CONTENT_TYPE, getBodyContentType());  
  78.   
  79.         // 下面使用Http客户端发送请求,并获取响应内容  
  80.   
  81.         HttpResponse httpResponse = null;  
  82.   
  83.         try {  
  84.             // 发送请求并获得响应对象  
  85.             httpResponse = httpClient.execute(httpGet);  
  86.   
  87.             final int statusCode = httpResponse.getStatusLine().getStatusCode();  
  88.             if (200 == statusCode) {  
  89.                 result = getResponseString(httpResponse);  
  90.             }  
  91.             else {  
  92.                 Log.e(LOG_TAG, ”Connection failed: ” + statusCode);  
  93.             }  
  94.   
  95.         }  
  96.         catch (Exception e) {  
  97.             e.printStackTrace();  
  98.         }  
  99.         finally {  
  100.   
  101.         }  
  102.   
  103.         return result;  
  104.     }  
  105.   
  106.     public static String performPostRequest(String baseURL, String postData) {  
  107.         String result = ”“;  
  108.         HttpResponse response = null;  
  109.         try {  
  110.   
  111.             // URL使用基本URL即可,其中不需要加参数  
  112.             HttpPost httpPost = new HttpPost(baseURL);  
  113.             // 设置ContentType  
  114.             httpPost.addHeader(HEADER_CONTENT_TYPE, getBodyContentType());  
  115.   
  116.             // 将请求体内容加入请求中  
  117.             HttpEntity requestHttpEntity = prepareHttpEntity(postData);  
  118.   
  119.             if (null != requestHttpEntity) {  
  120.                 httpPost.setEntity(requestHttpEntity);  
  121.             }  
  122.   
  123.             // 需要客户端对象来发送请求  
  124.             HttpClient httpClient = new DefaultHttpClient();  
  125.             // 发送请求  
  126.             response = httpClient.execute(httpPost);  
  127.   
  128.             final int statusCode = response.getStatusLine().getStatusCode();  
  129.             if (200 == statusCode) {  
  130.                 // 显示响应  
  131.                 result = getResponseString(response);  
  132.             }  
  133.             else {  
  134.                 Log.e(LOG_TAG, ”Connection failed: ” + statusCode);  
  135.             }  
  136.   
  137.         }  
  138.         catch (Exception e) {  
  139.             e.printStackTrace();  
  140.         }  
  141.         finally {  
  142.   
  143.         }  
  144.   
  145.         return result;  
  146.   
  147.     }  
  148.   
  149.     /** 
  150.      * 直接利用String生成HttpEntity,String应该已经是key=value&key2=value2的形式 
  151.      * 
  152.      * @param postData 
  153.      * @return 
  154.      */  
  155.     private static HttpEntity prepareHttpEntity(String postData) {  
  156.   
  157.         HttpEntity requestHttpEntity = null;  
  158.   
  159.         try {  
  160.   
  161.             if (null != postData) {  
  162.                 // 去掉所有的换行  
  163.                 postData = postData.replace(”\n”, “”);  
  164.                 // one way  
  165.                 // requestHttpEntity = new ByteArrayEntity(  
  166.                 // postData.getBytes(getParamsEncoding()));  
  167.   
  168.                 // another way  
  169.                 requestHttpEntity = new StringEntity(postData,  
  170.                         getParamsEncoding());  
  171.                 ((StringEntity) requestHttpEntity)  
  172.                         .setContentEncoding(getParamsEncoding());  
  173.                 ((StringEntity) requestHttpEntity)  
  174.                         .setContentType(getBodyContentType());  
  175.   
  176.             }  
  177.         }  
  178.         catch (Exception e) {  
  179.             e.printStackTrace();  
  180.         }  
  181.         return requestHttpEntity;  
  182.     }  
  183.   
  184.     /** 
  185.      * 利用Map结构的参数生成HttpEntity,使用UrlEncodedFormEntity对参数对进行编码 
  186.      * 
  187.      * @param params 
  188.      * @return 
  189.      */  
  190.     private static HttpEntity prepareHttpEntity1(Map<String, String> params) {  
  191.         // 需要将String里面的key value拆分出来  
  192.   
  193.         HttpEntity requestHttpEntity = null;  
  194.         try {  
  195.   
  196.             if (null != params) {  
  197.                 List<NameValuePair> pairList = new ArrayList<NameValuePair>(  
  198.                         params.size());  
  199.                 for (Map.Entry<String, String> entry : params.entrySet()) {  
  200.                     NameValuePair pair = new BasicNameValuePair(entry.getKey(),  
  201.                             entry.getValue());  
  202.                     pairList.add(pair);  
  203.                 }  
  204.                 requestHttpEntity = new UrlEncodedFormEntity(pairList,  
  205.                         getParamsEncoding());  
  206.   
  207.             }  
  208.   
  209.         }  
  210.         catch (UnsupportedEncodingException e) {  
  211.             e.printStackTrace();  
  212.         }  
  213.   
  214.         return requestHttpEntity;  
  215.     }  
  216.   
  217.     /** 
  218.      * 利用Map结构的参数生成HttpEntity,使用自己的方法对参数进行编码合成字符串 
  219.      * 
  220.      * @param params 
  221.      * @return 
  222.      */  
  223.     private static HttpEntity prepareHttpEntity2(Map<String, String> params) {  
  224.         // 需要将String里面的key value拆分出来  
  225.   
  226.         HttpEntity requestHttpEntity = null;  
  227.         byte[] body = encodeParameters(params, getParamsEncoding());  
  228.         requestHttpEntity = new ByteArrayEntity(body);  
  229.   
  230.         return requestHttpEntity;  
  231.     }  
  232.   
  233.     /** 
  234.      * Converts <code>params</code> into an application/x-www-form-urlencoded 
  235.      * encoded string. 
  236.      */  
  237.     private static byte[] encodeParameters(Map<String, String> params,  
  238.             String paramsEncoding) {  
  239.         StringBuilder encodedParams = new StringBuilder();  
  240.         try {  
  241.             for (Map.Entry<String, String> entry : params.entrySet()) {  
  242.                 encodedParams.append(URLEncoder.encode(entry.getKey(),  
  243.                         paramsEncoding));  
  244.                 encodedParams.append(’=’);  
  245.                 encodedParams.append(URLEncoder.encode(entry.getValue(),  
  246.                         paramsEncoding));  
  247.                 encodedParams.append(’&’);  
  248.             }  
  249.             return encodedParams.toString().getBytes(paramsEncoding);  
  250.         }  
  251.         catch (UnsupportedEncodingException uee) {  
  252.             throw new RuntimeException(“Encoding not supported: ”  
  253.                     + paramsEncoding, uee);  
  254.         }  
  255.     }  
  256.   
  257.     public static String getResponseString(HttpResponse response) {  
  258.         String result = null;  
  259.         if (null == response) {  
  260.             return result;  
  261.         }  
  262.   
  263.         HttpEntity httpEntity = response.getEntity();  
  264.         InputStream inputStream = null;  
  265.         try {  
  266.             inputStream = httpEntity.getContent();  
  267.             BufferedReader reader = new BufferedReader(new InputStreamReader(  
  268.                     inputStream));  
  269.             result = ”“;  
  270.             String line = ”“;  
  271.             while (null != (line = reader.readLine())) {  
  272.                 result += line;  
  273.             }  
  274.         }  
  275.         catch (Exception e) {  
  276.             e.printStackTrace();  
  277.         }  
  278.         finally {  
  279.             try {  
  280.                 if (null != inputStream) {  
  281.                     inputStream.close();  
  282.                 }  
  283.             }  
  284.             catch (IOException e) {  
  285.                 e.printStackTrace();  
  286.             }  
  287.         }  
  288.         return result;  
  289.   
  290.     }  
  291. }  
  292.   
  293. HttpUtilsApache  
package com.example.helloandroidhttp;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;

import android.util.Log;

public class HttpUtilsApache {

    private static final String LOG_TAG = "Http->Apache";
    private static final String HEADER_CONTENT_TYPE = "Content-Type";
    /**
     * Default encoding for POST or PUT parameters. See
     * {@link #getParamsEncoding()}.
     */
    private static final String DEFAULT_PARAMS_ENCODING = "UTF-8";

    /**
     * Returns which encoding should be used when converting POST or PUT
     * parameters returned by {@link #getParams()} into a raw POST or PUT body.
     *
     * <p>
     * This controls both encodings:
     * <ol>
     * <li>The string encoding used when converting parameter names and values
     * into bytes prior to URL encoding them.</li>
     * <li>The string encoding used when converting the URL encoded parameters
     * into a raw byte array.</li>
     * </ol>
     */
    public static String getParamsEncoding() {
        return DEFAULT_PARAMS_ENCODING;
    }

    public static String getBodyContentType() {
        return "application/x-www-form-urlencoded; charset="
                + getParamsEncoding();
    }

    public static String performGetRequest(String url) {

        String result = null;
        // 生成一个请求对象
        HttpGet httpGet = new HttpGet(url);

        // 1.生成一个Http客户端对象(带参数的)
        HttpParams httpParameters = new BasicHttpParams();
        HttpConnectionParams.setConnectionTimeout(httpParameters, 10 * 1000);// 设置请求超时10秒
        HttpConnectionParams.setSoTimeout(httpParameters, 10 * 1000); // 设置等待数据超时10秒
        HttpConnectionParams.setSocketBufferSize(httpParameters, 8192);

        HttpClient httpClient = new DefaultHttpClient(httpParameters); // 此时构造DefaultHttpClient时将参数传入
        // 2.默认实现:
        // HttpClient httpClient = new DefaultHttpClient();
        httpGet.addHeader(HEADER_CONTENT_TYPE, getBodyContentType());

        // 下面使用Http客户端发送请求,并获取响应内容

        HttpResponse httpResponse = null;

        try {
            // 发送请求并获得响应对象
            httpResponse = httpClient.execute(httpGet);

            final int statusCode = httpResponse.getStatusLine().getStatusCode();
            if (200 == statusCode) {
                result = getResponseString(httpResponse);
            }
            else {
                Log.e(LOG_TAG, "Connection failed: " + statusCode);
            }

        }
        catch (Exception e) {
            e.printStackTrace();
        }
        finally {

        }

        return result;
    }

    public static String performPostRequest(String baseURL, String postData) {
        String result = "";
        HttpResponse response = null;
        try {

            // URL使用基本URL即可,其中不需要加参数
            HttpPost httpPost = new HttpPost(baseURL);
            // 设置ContentType
            httpPost.addHeader(HEADER_CONTENT_TYPE, getBodyContentType());

            // 将请求体内容加入请求中
            HttpEntity requestHttpEntity = prepareHttpEntity(postData);

            if (null != requestHttpEntity) {
                httpPost.setEntity(requestHttpEntity);
            }

            // 需要客户端对象来发送请求
            HttpClient httpClient = new DefaultHttpClient();
            // 发送请求
            response = httpClient.execute(httpPost);

            final int statusCode = response.getStatusLine().getStatusCode();
            if (200 == statusCode) {
                // 显示响应
                result = getResponseString(response);
            }
            else {
                Log.e(LOG_TAG, "Connection failed: " + statusCode);
            }

        }
        catch (Exception e) {
            e.printStackTrace();
        }
        finally {

        }

        return result;

    }

    /**
     * 直接利用String生成HttpEntity,String应该已经是key=value&key2=value2的形式
     *
     * @param postData
     * @return
     */
    private static HttpEntity prepareHttpEntity(String postData) {

        HttpEntity requestHttpEntity = null;

        try {

            if (null != postData) {
                // 去掉所有的换行
                postData = postData.replace("\n", "");
                // one way
                // requestHttpEntity = new ByteArrayEntity(
                // postData.getBytes(getParamsEncoding()));

                // another way
                requestHttpEntity = new StringEntity(postData,
                        getParamsEncoding());
                ((StringEntity) requestHttpEntity)
                        .setContentEncoding(getParamsEncoding());
                ((StringEntity) requestHttpEntity)
                        .setContentType(getBodyContentType());

            }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return requestHttpEntity;
    }

    /**
     * 利用Map结构的参数生成HttpEntity,使用UrlEncodedFormEntity对参数对进行编码
     *
     * @param params
     * @return
     */
    private static HttpEntity prepareHttpEntity1(Map<String, String> params) {
        // 需要将String里面的key value拆分出来

        HttpEntity requestHttpEntity = null;
        try {

            if (null != params) {
                List<NameValuePair> pairList = new ArrayList<NameValuePair>(
                        params.size());
                for (Map.Entry<String, String> entry : params.entrySet()) {
                    NameValuePair pair = new BasicNameValuePair(entry.getKey(),
                            entry.getValue());
                    pairList.add(pair);
                }
                requestHttpEntity = new UrlEncodedFormEntity(pairList,
                        getParamsEncoding());

            }

        }
        catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        return requestHttpEntity;
    }

    /**
     * 利用Map结构的参数生成HttpEntity,使用自己的方法对参数进行编码合成字符串
     *
     * @param params
     * @return
     */
    private static HttpEntity prepareHttpEntity2(Map<String, String> params) {
        // 需要将String里面的key value拆分出来

        HttpEntity requestHttpEntity = null;
        byte[] body = encodeParameters(params, getParamsEncoding());
        requestHttpEntity = new ByteArrayEntity(body);

        return requestHttpEntity;
    }

    /**
     * Converts <code>params</code> into an application/x-www-form-urlencoded
     * encoded string.
     */
    private static byte[] encodeParameters(Map<String, String> params,
            String paramsEncoding) {
        StringBuilder encodedParams = new StringBuilder();
        try {
            for (Map.Entry<String, String> entry : params.entrySet()) {
                encodedParams.append(URLEncoder.encode(entry.getKey(),
                        paramsEncoding));
                encodedParams.append('=');
                encodedParams.append(URLEncoder.encode(entry.getValue(),
                        paramsEncoding));
                encodedParams.append('&');
            }
            return encodedParams.toString().getBytes(paramsEncoding);
        }
        catch (UnsupportedEncodingException uee) {
            throw new RuntimeException("Encoding not supported: "
                    + paramsEncoding, uee);
        }
    }

    public static String getResponseString(HttpResponse response) {
        String result = null;
        if (null == response) {
            return result;
        }

        HttpEntity httpEntity = response.getEntity();
        InputStream inputStream = null;
        try {
            inputStream = httpEntity.getContent();
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    inputStream));
            result = "";
            String line = "";
            while (null != (line = reader.readLine())) {
                result += line;
            }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        finally {
            try {
                if (null != inputStream) {
                    inputStream.close();
                }
            }
            catch (IOException e) {
                e.printStackTrace();
            }
        }
        return result;

    }
}

HttpUtilsApache


【全局路径规划模块运动学算法】无人机Kinodynamic A*算法、Kinodynamic RRT*算法(附C++代码) 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对Kinodynamic A*算法做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容啃这个Kinodynamic A_star算法,建议先啃一啃高飞fast_planner那篇论文,把理论打好,如果还是比较迷,就先看Dijksta、再看A_star、再看hybrid A_star 三个的流程,因为往上资料比较多,再看这个Kinodynamic A_star算法,流程已经很相像了。如果。 阅读详情

相关推荐

随机化策略——随机变量rand、约束constraint、权重dist、随机数产生示例

文章目录一、随机变量类型1.1.rand随机变量1.2.randc随机变量二、随机化约束2.1.constraint指定约束范围2.1.1.关系操作符约束(>、<、=、>=、<=)2.1.2.范围操作符约束(inside)2.1.3.权重分布约束(dist)2.1.4.条件约束(if-else; ->)三、启动随机化——randomize( )函数四、关闭或打开随机变...

Mr.翟的博客 2万+

UrlEncodedFormEntity

UrlEncodedFormEntity这个类是用来把输入数据编码成合适的内容,下面以注册的时候传递的参数为例: 注册的时候写的一个异步线程: private void registe() { new Thread(new Runnable() { @Override public void run() { // TODO Auto-generate

wust小吴 4万+

大麦APP抢票协议分析:从‘掌密网络’代码看移动端API安全防护

本文深度解析了大麦APP抢票协议的安全防护体系,重点分析了'掌密网络'代码中体现的动态签名、设备指纹和人机验证等关键技术。文章详细介绍了大麦APP如何通过多层次API安全防护应对抢票压力,包括参数加密、请求头部设计和异常处理机制,为移动应用开发者提供了安全实践建议。

weixin_28740299的博客 293

HttpClient发送Post请求:StringEntity 和 UrlEncodedFormEntity

1.StringEntity StringEntity有两个参数,一个是具体的参数值(string串),另一个是ContentType,默认是text/plain,编码格式是:ISO_5598_1。 使用httpclient时,尽量指定编码方式来初始化StringEntity。 使用HttpClient来发送请求获取数据:拼接出来的body本质是一串Sring,所以可以用StringEntity,使用方法如下: //构造测试数据 JSONObject param = new JSONObject(

m0_37346206的博客 5071

SAP FB03凭证修改实战:巧用BAPI FI_DOCUMENT_CHANGE更新抬头与行项目

本文详细介绍了SAP FB03凭证修改的实战技巧,重点解析了BAPI FI_DOCUMENT_CHANGE的使用方法。通过该接口,用户可以在不冲销原凭证的情况下直接更新抬头文本(BKTXT)和行项目文本(SGTXT),确保凭证编号连续且符合审计要求。文章包含核心机制解析、完整实现步骤、错误处理方案以及高级应用场景,帮助开发者高效完成SAP财务凭证修改。

weixin_29251567的博客 426

H3C无线控制器二层注册实战:从零配置到AP上线全流程(附常见问题排查)

本文详细解析了H3C无线控制器二层注册的全流程,从网络基础准备、AC核心配置到AP上线,重点阐述了CAPWAP隧道建立的关键步骤。文章提供了清晰的典型配置示例,并针对AP无法上线、状态异常等常见问题,给出了六种典型故障现象的排查思路与解决命令,帮助网络工程师快速定位并解决问题。

weixin_29214199的博客 548

HttpPost 两种消息体形式 --UrlEncodedFormEntity 和 StringEntity

一、UrlEncodedFormEntity 代码示例: //设置请求方式与参数 URI uri = new URI(uriStr); HttpPost httpPost = new HttpPost(uri); httpPost.getParams().setParameter("http.socket.timeout", new Integer(500000)); httpPost.setHeader("Content-type", "text/plain; charset=UTF-8"); ht

lisheng19870305的专栏 7689

别再用UE5默认材质:用Substance Painter一招提升写实感

今天,我就把这套从模型准备到引擎最终呈现的全流程技巧毫无保留地分享出来,这套方法不仅能让你的作品细节炸裂,更能让你理解次世代PBR(Physically Based Rendering)材质的底层逻辑。

海外旅居设计师,15年设计经验。 1326

HttpClient发送Post请求————StringEntity 和 UrlEncodedFormEntity 的区别

1.StringEntity 首先说StringEntity StringEntity extends AbstractHttpEntity implements Cloneable 继承于AbstractHttpEntity类,这个类做参数的时候设置比较灵活,通过类的构造方法可以看到有两个参数,一个是具体的参数值(string串),另一个是ContentType,通过重写的构造方法看到,当不指定ContentType时默认的ContentType是text/plain,具体看下图构造方法: 默认通.

YHJ 4091

关于AD中如何绘制原理图及其封装

AD中如何绘制原理图及其封装 题记:这是一个比较基础的知识,之所以我打算写一篇这样的笔记,主要是因为在日常生活中,我极少绘制特殊模块或芯片原理图及其封装。久而久之就忘记咋画了,有时需要画封装的时候又想不起来,网上的资料虽然一堆堆的,但往往只是仅原理图的绘制,或者是仅封装的绘制。为此我写一篇这样的笔记,记录绘制原理图及其封装的一条龙服务,感觉这对我而言尤为重要。 本文分为三大板块,依次是原理图的绘制、封装的绘制、二者的联立 第一板块——原理图的绘制 原理图的建立 第二板块——封装的绘制 第三板块——二者的

weixin_51130221的博客 7万+

Origin绘制带差异显著性标记的分组均值条形图|科研论文图表教程(附数据格式模板)

传统柱状图虽能呈现组间均值差异,却隐藏个体数据分布;散点图虽能展示原始数据,却难以直观凸显统计显著性。带差异显著性(*)的分组均值条形图——它以“双层叙事”的创新设计,同时呈现群体特征与个体差异。

weixin_50236590的博客 1498

httpclient post请求 StringEntity 和 UrlEncodedFormEntity 的区别

HTTPClient进行body传参,要使用StringEntity,而不要使用UrlEncodedFormEntity 原因:UrlEncodedFormEntity会以字符串键值对形式传给后台,即:{"a":"value1", "b":"value2"},传给java方法,接收到的参数是:a=value1&b=value2,即它不支持json参数传递; 而StringEntity传参,后台接收到的依然是 {"a":"value1", "b":"value2"},即StringEntity..

Monkey__yuan的博客 1081

本地生成无限量的AI图像和视频——无需网络,无限制,本地人工智能图像和视频生成的实用指南

我们将使用ComfyUI,这是一个功能强大的基于节点的 AI 图像和视频生成可视化界面。如果您是 ComfyUI 的新手,请不要担心。ComfyUI是什么?ComfyUI 是一款可视化工具,可让您在自己的计算机上生成 AI 图像和视频。您无需一次性理解所有内容。在本指南中,我们将从现成的工作流程入手,逐步帮助您建立信心。乍一看,内容似乎很庞杂——但本指南将着重于:-简单的工作流程-预构建示例-最少的配置我想向你展示使用这个工具最简单的工作流程。

iCloudEnd的博客 1819

httpclient post UrlEncodedFormEntity 中文乱码问题

浏览器提交的代码一般会utf-8,使用UrlEncodedFormEntity(nvps,Consts.UTF_8)代替UrlEncodedFormEntity(nvps),默认会使用Consts.ISO_8859_1

dang7758的博客 6335

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

StringEntity和UrlEncodedFormEntity的区别

StringEntity和UrlEncodedFormEntity的区别

undefinedAuth的博客 2661

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

java HttpClient提交post 请求时 MultipartEntity与UrlEncodedFormEntity请求实体的区别

主要是MultipartEntity与UrlEncodedFormEntity参数不同 经过在网上查询资料发现,这两个类均实现了HttpEntity接口,而二者的区别就和html表单有关系, html中的form 表单有两种:除了传统的application/x-www-form-urlencoded表单,我们另一个经常用到的是上传文件用的表单,这种表单的 类型为multipart/form-...

weixin_30535167的博客 511

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

使用HttpClient发送POST请求

java代码的客户端package com.xp.android.httpclient; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.uti

itxupeng的博客 656

StringEntity 和 UrlEncodedFormEntity的区别

一、UrlEncodedFormEntity //设置请求方式与参数 URI uri = new URI(uriStr); HttpPost httpPost = new HttpPost(uri); httpPost.getParams().setParameter("http.socket.timeout", new Integer(500000)); httpPost.setHeader("Content-type", "text/plain; charset=UTF-8"); httpPost.

m0_37346206的博客 638

HttpClient如何发送form表单请求

HttpClient如何发送form表单请求 这就需要了NameValuePair 的传参方式,就可以进行form表单数据的传输,我在这里记录下 1.需要先定义 NameValuePair 的集合,这个集合里面放入我们form 表单的元素 List pair= new ArrayList<>();       //放入我们的form元素       pair.add(new BasicNameValuePair(“licenseNo”, licenseNo)); pair.add(new Ba

央顺科技官方博客 5572

httpclient发送post请求

import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apa.

weixin_43929448的博客 825

Class UrlEncodedFormEntity

java.lang.Object org.apache.http.entity.AbstractHttpEntity org.apache.http.entity.StringEntity org.apache.http.client.entity.UrlEncodedFormEntity All Implemented Interfaces:Clone

711

HttpClient介绍

一、HttpClient介绍   HttpClient是用来模拟HTTP请求的,其实实质就是把HTTP请求模拟后发给Web服务器;   Android已经集成了HttpClient,因此可以直接使用;   注:此处HttpClient代码不只可以适用于Android,也可适用于一般的Java程序;   HTTP GET核心代码:    (1)DefaultHttpClient

gs_wenbing的专栏 667

HttpClient源码分析

本文概述 透过源码分析HttpClient的原理。 使用回顾 public static void sendRequestWithHttpClient() { List<NameValuePair> formparams = new ArrayList<NameValuePair>(); formparams.add(new BasicNameValuePair("account", "")); formparams.add(n..

MaPengHao的专栏 1282
上一篇: HttpClient4.5入门实例教程
下一篇: httpclient4.5 入门教程 1.1执行请求
光与热
博客等级 码龄11年 55粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值