5

我想使用“表单数据”发送 HTTP Post 请求。这是其余客户端的屏幕截图,以显示我想要什么:

在此处输入图像描述

有关标头的更多信息:

POST /action HTTP/1.1
Host: requsrt-utl
Cache-Control: no-cache

----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="email"

abc@gmail.com
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="password"

123456
----WebKitFormBoundaryE19zNvXGzXaLvS5C

我尝试使用UrlEncodedFormEntity,但它将内容类型设置为 'application/x-www-form-urlencoded',这是不正确的。

我的安卓代码:

HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(urlStr);
        try {
            UrlEncodedFormEntity encodedFormEntity = new UrlEncodedFormEntity(nameValuePairs);
            httppost.setEntity(encodedFormEntity);
            HttpResponse httpresponse = httpclient.execute(httppost);
            return httpresponse.getEntity().getContent();

        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

当我使用它时,网络服务没有获得任何参数,因此它发送一条消息“参数不存在”。

请帮忙!

4

1 回答 1

5

这可能会帮助你

HttpPost httppost = new HttpPost(urlStr);

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);  

nameValuePairs.add(new BasicNameValuePair("userid", "12312"));  
nameValuePairs.add(new BasicNameValuePair("sessionid", "234"));  

httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

如何在android http post中添加参数?

于 2014-02-28T15:22:11.227 回答