【发布时间】:2013-04-18 10:04:21
【问题描述】:
我正在寻找有关如何在 android 上使用 HttpPost 方法发送信息的信息,但我总是看到:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(posturl);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("Name","Var1"));
params.add(new BasicNameValuePair("Name2","Var2"));
httppost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse resp = httpclient.execute(httppost);
HttpEntity ent = resp.getEntity();
问题是我不能这样做,因为我必须连接到接收 XML 格式字符串的资源。
关于如何在不使用List<nameValuePair> 的情况下仅发送字符串的任何想法
【问题讨论】:
-
您是如何想到上述代码与 XML 有任何关系的?另外,当您通过 http 发送字符串时,您的字符串需要一个名称,因此您最终会得到一个名称/值对或一个命名的 URL 参数。
-
好的,请说明您的真正问题是什么。您是否有 XML 字符串并且服务器不能接受 XML 字符串值?然后你必须告诉我们服务器可以接受什么格式。或者您认为名称/值对与 XML 有关吗?那么答案是,不,它没有。它只是让您不必自己填写
POST正文。 -
好的,服务器使用 javaScrip,他在上面读取了您发送给它的文本,该文本是 XML 文件或具有该格式。所以我不能使用 ValuePairs 因为我只需要发送一个字符串。但我在互联网上看到的方法只使用 ValuePairs 数组。现在我正在尝试使用 Praful Bhatnagar 的答案。我认为它会起作用
-
感谢您的澄清。核心问题是,
POST与JavaScriptsn-p 有什么关系。您可以在 JavaScript 中请求数据,但您可以直接接收 POST 吗?我不这么认为。这意味着服务器之前接收它并通过请求变量将其传递给 JavaScript,在这种情况下,您使用 Praful 的方法是在浪费时间。 -
好吧,我不知道为什么,但他的代码工作完美:) 太类了。