我想使用“表单数据”发送一个 HTTP Post 请求。这是 rest-client 的屏幕截图,显示我想要什么:
与 header 相关的更多信息:
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();
}
当我使用它时,web 服务没有获取任何参数,因此它发送一条消息“没有参数”。
请帮忙!
最佳答案
这可能对你有帮助
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 - 在 android 中使用 Http Post 发送表单数据 Post 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19202163/