删除或替换namevaluepair中的特殊字符,用于http post请求android

时间:2014-07-17 10:02:23

标签: java android http-post urlencode name-value

当我尝试发布我记录的数据时出现问题:

[ObserverTRID=5QEET3TE10,
 ObsType=Evaluate,
 ObsDate=17-Jul-2014, 
ObsTime=09:22:12, 
// == loc

ObsTitle=bolllloooo, 

//==obstset
MediaData={"MediaData":[{"RunNo":0,"Filename":"http://url/5QEET3TE10_3_5_20140717092206.jpg","MediaNo":4"Desc":01 Image_17-Jul-14No Marker.jpg}]}, 
PVPMediaCount=1, 
SourceDevice=motorola XT1032 Android v19 App v2.0001,
 ObsDept,
 ObsSite, 
TargetTRID=5QEET3TE10]

但是我需要在每个名字上添加“&”而不是“,”这是我的httppost请求。

httppost.setEntity(new UrlEncodedFormEntity(mNameValuePairs));

这是我的请求,我发布了带有参数nameevaluepair

的网址

DefaultHttpClient httpclient = new DefaultHttpClient();

    HttpPost httppost = new HttpPost(mUrl);


            if(mNameValuePairs==null){
                mNameValuePairs = new ArrayList<NameValuePair>(1);
                mNameValuePairs.add(new BasicNameValuePair("PostEvent", "Null"));
            }
            Log.e("namevalue ", mNameValuePairs.toString());

我是URLEncoding

的settig实体
        httppost.setEntity(new UrlEncodedFormEntity(mNameValuePairs));
        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);
        String result = EntityUtils.toString(response.getEntity(),HTTP.UTF_8);



        HttpEntity httpEntity = response.getEntity();

1 个答案:

答案 0 :(得分:0)

            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(url);
            httpPost.setEntity(new UrlEncodedFormEntity(params));

            HttpResponse httpResponse = httpClient.execute(httpPost);
            HttpEntity httpEntity = httpResponse.getEntity();

使用此代码解析类