首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Android HttpPost中发送查询参数

如何在Android HttpPost中发送查询参数
EN

Stack Overflow用户
提问于 2015-01-15 14:10:35
回答 1查看 1.4K关注 0票数 0

我正在开发一个Android应用程序,在其中我需要使用web服务。当我签入SoapUI (我不能附加我的SoapUI屏幕截图)时,我得到了200响应。基本上,我需要将查询参数发送到登录web服务,这是一个POST请求。

我正在我的Android文件中尝试下面的代码片段,但它不起作用。我做错什么了吗?

代码语言:javascript
复制
String loginUrl = "http://my-login-portal.in/LogonServlet";

List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(4);

nameValuePair.add(new BasicNameValuePair("page", "/OrderHandlingServlet?api=login"));
nameValuePair.add(new BasicNameValuePair("txtDomain", "MyDomain"));
nameValuePair.add(new BasicNameValuePair("txtUid", "user1"));
nameValuePair.add(new BasicNameValuePair("txtPwd", "pwd1"));


httppost = new HttpPost(loginUrl);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePair));                
httppost.setHeader(HTTP.CONTENT_TYPE, "application/x-www-form-urlencoded");

response = httpclient.execute(httppost);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-15 14:25:37

使用以下代码:

代码语言:javascript
复制
List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(4);

nameValuePair.add(new BasicNameValuePair("page", "/OrderHandlingServlet?api=login"));
nameValuePair.add(new BasicNameValuePair("txtDomain", "MyDomain"));
nameValuePair.add(new BasicNameValuePair("txtUid", "user1"));
nameValuePair.add(new BasicNameValuePair("txtPwd", "pwd1"));

HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, INSERTCONNECTIONTIMEOUT);
HttpClient client = new DefaultHttpClient(params);
HttpPost request = new HttpPost(URL);//put url here
request.setEntity(new UrlEncodedFormEntity(nameValuePair));
BasicHttpResponse httpResponse = (BasicHttpResponse) client.execute(request);
String data = StreamToString(httpResponse.getEntity().getContent());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27957690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档