如何发送一个字符串数组作为基本名称值对HTTPPOST?数组、字符串、名称、基本

2023-09-04 05:29:51 作者:高冷逗比

我想送一个数组名称值对httppost.My服务器接受values​​.The以下仅数组是我的code段。

 公共字符串SearchWithType(字符串CATEGORY_NAME,字符串[]类型,INT page_no){

    字符串URL =HTTP:// myURL;
    StrictMode.ThreadPolicy政策=新StrictMode.ThreadPolicy.Builder()
            .permitAll()建立()。
    StrictMode.setThreadPolicy(政策);

    字符串的auth_token = Login.authentication_token;
    字符串键= Login.key;

    HttpClient的HttpClient的=新DefaultHttpClient();
    HttpPost httppost =新HttpPost(URL);

    尝试 {
        名单<的NameValuePair> namevaluepairs中=新的ArrayList<的NameValuePair>();
        nameValuePairs.add(新BasicNameValuePair(authentication_token
                的auth_token));
        nameValuePairs.add(新BasicNameValuePair(键,键));
        nameValuePairs.add(新BasicNameValuePair(CATEGORY_NAME
                CATEGORY_NAME));
        INT I = 0;
        nameValuePairs.add(新BasicNameValuePair(类型,输入[I]));
        nameValuePairs.add(新BasicNameValuePair(网页,将String.valueOf(page_no)));

        httppost.setEntity(新UrlEn codedFormEntity(namevaluepairs中));

        HTT presponse响应= httpclient.execute(httppost);
        HttpEntity实体= response.getEntity();
        欧盟= EntityUtils.toString(实体)的ToString();

    }赶上(IOException异常IOE){
        串恩= ioe.toString();
        返回前;
    }

    返回欧盟;
}
 

解决方案

我得到了issue..the问题是

 尝试{
    名单<的NameValuePair> namevaluepairs中=新的ArrayList<的NameValuePair>();
    nameValuePairs.add(新BasicNameValuePair(authentication_token
            的auth_token));
    nameValuePairs.add(新BasicNameValuePair(键,键));
    nameValuePairs.add(新BasicNameValuePair(CATEGORY_NAME
            CATEGORY_NAME));
    INT I = 0;
    nameValuePairs.add(新BasicNameValuePair(类型,输入[I]));
    nameValuePairs.add(新BasicNameValuePair(网页,将String.valueOf(page_no)));

    httppost.setEntity(新UrlEn codedFormEntity(namevaluepairs中));

    HTT presponse响应= httpclient.execute(httppost);
    HttpEntity实体= response.getEntity();
    欧盟= EntityUtils.toString(实体)的ToString();
 

所有我所要做的就是intilize一个循环

 的for(int i = 0; I< type.length;我++){

             nameValuePairs.add(新BasicNameValuePair(键入[]中,键入[I]));

        }
 
VBA 如何把一个数组里的值拼成一个字符串

I want to send a array as name value pair as httppost.My server accepts only array values.The following is my code snippet..

public String SearchWithType(String category_name, String[] type,int page_no) {

    String url = "http://myURL";
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
            .permitAll().build();
    StrictMode.setThreadPolicy(policy);

    String auth_token = Login.authentication_token;
    String key = Login.key;

    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost(url);

    try {
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        nameValuePairs.add(new BasicNameValuePair("authentication_token",
                auth_token));
        nameValuePairs.add(new BasicNameValuePair("key", key));
        nameValuePairs.add(new BasicNameValuePair("category_name",
                category_name));
        int i = 0;
        nameValuePairs.add(new BasicNameValuePair("type", type[i]));
        nameValuePairs.add(new BasicNameValuePair("page", String.valueOf(page_no)));

        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        eu = EntityUtils.toString(entity).toString();

    } catch (IOException ioe) {
        String ex = ioe.toString();
        return ex;
    }

    return eu;
} 

解决方案

i got the issue..the issue was

try {
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    nameValuePairs.add(new BasicNameValuePair("authentication_token",
            auth_token));
    nameValuePairs.add(new BasicNameValuePair("key", key));
    nameValuePairs.add(new BasicNameValuePair("category_name",
            category_name));
    int i = 0;
    nameValuePairs.add(new BasicNameValuePair("type", type[i]));
    nameValuePairs.add(new BasicNameValuePair("page", String.valueOf(page_no)));

    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    HttpResponse response = httpclient.execute(httppost);
    HttpEntity entity = response.getEntity();
    eu = EntityUtils.toString(entity).toString();

all i had to do was intilize a loop

for (int i = 0; i < type.length; i++) {

             nameValuePairs.add(new BasicNameValuePair("type[]",type[i]));

        }

 
精彩推荐