java新手 - 了解HTTP POST请求

时间:2014-02-05 13:01:45

标签: java android rest

我一直在尝试理解following tutorial中的postData()方法。 我对代码的理解是:

  • 一个nameValuePairs对象,其中包含一些数据,通过互联网发送到位于此地址的某个Web服务:http://www.yoursite.com/script.php将收到此nameValuePairs对象

3 个答案:

答案 0 :(得分:0)

是的,基本上......服务器获取name-value pair并可以按需要处理它......

例如,当您登录电子邮件帐户时,您发送了两个name-value pairs - username=your_usernamepassword=your_password ...收到后,服务器检查您发送的用户名是否正确以及是否密码对于给定的用户名有效,然后将您发送到您的帐户或抛出您提供的数据无效的消息。

它不是特定于Java的。它是http协议,可以用任何其他语言实现。

答案 1 :(得分:0)

例如,您希望将某个人的年龄发送到网络服务。

如果您通过GET发送数据,那么Web服务的调用将是这样的:

http://www.yoursite.com/script.php?age=18

如果您通过POST发送数据,那么Web服务的调用将是这样的:

http://www.yoursite.com/script.php

并且键值参数集成在请求的数据流中

所以,回答你的问题,不会发送任何对象,

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("age", "18"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));  

会将键值列表集成到请求的数据流中。

答案 2 :(得分:0)

如果你像这样传递一个id,

nameValuePairs.add(new BasicNameValuePair("id", "20"));

在php页面中,您可以获得这样的值,

$id= $_POST['id'];