当前位置: 首页 > 编程笔记 >

Android中使用Post请求的方法

彭存
2023-03-14
本文向大家介绍Android中使用Post请求的方法,包括了Android中使用Post请求的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了Android中使用Post请求的方法。分享给大家供大家参考。具体如下:

一、需要用到的场景

在jQuery中使用$.post()就可以方便的发起一个post请求,在android程序中有时也要从服务器获取一些数据,就也必须得使用post请求了。

二、需要用到的主要类

在android中使用post请求主要要用到的类是HttpPost、HttpResponse、EntityUtils

三、主要思路

1、创建HttpPost实例,设置需要请求服务器的url。

2、为创建的HttpPost实例设置参数,参数设置时使用键值对的方式用到NameValuePair类。

3、发起post请求获取返回实例HttpResponse

4、使用EntityUtils对返回值的实体进行处理(可以取得返回的字符串,也可以取得返回的byte数组)

代码也比较简单,注释也加上了,就直接贴出来了

package com.justsy.url;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import android.app.Activity;
import android.os.Bundle;
public class HttpURLActivity extends Activity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    System.out.println("start url...");
    String url = "http://192.168.2.112:8080/JustsyApp/Applet";
    // 第一步,创建HttpPost对象
    HttpPost httpPost = new HttpPost(url);
    // 设置HTTP POST请求参数必须用NameValuePair对象
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair("action", "downloadAndroidApp"));
    params.add(new BasicNameValuePair("packageId", "89dcb664-50a7-4bf2-aeed-49c08af6a58a"));
    params.add(new BasicNameValuePair("uuid", "test_ok1"));
    HttpResponse httpResponse = null;
    try {
      // 设置httpPost请求参数
      httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
      httpResponse = new DefaultHttpClient().execute(httpPost);
      //System.out.println(httpResponse.getStatusLine().getStatusCode());
      if (httpResponse.getStatusLine().getStatusCode() == 200) {
        // 第三步,使用getEntity方法活得返回结果
        String result = EntityUtils.toString(httpResponse.getEntity());
        System.out.println("result:" + result);
        T.displayToast(HttpURLActivity.this, "result:" + result);
      }
    } catch (ClientProtocolException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    System.out.println("end url...");
    setContentView(R.layout.main);
  }
}

ADD:使用HttpURLConnection 进行post请求:

String path = "http://192.168.2.115:8080/android-web-server/httpConnectServlet.do?PackageID=89dcb664-50a7-4bf2-aeed-49c08af6a58a";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5000);
System.out.println(conn.getResponseCode());

希望本文所述对大家的Android程序设计有所帮助。

 类似资料:
  • 我试图使用HttpURLConnection执行post请求,但不知道如何正确执行。 我可以使用以下代码成功地使用Android AsyncHttp客户端执行请求: 可以在台式机上使用curl执行相同的请求: 这两种方法都给了我来自服务器的预期响应。 现在我想使用HttpURLConntions执行相同的请求。问题是我不知道如何正确地执行它。我尝试过这样的事情: 如何正确地将与使用AsyncHtt

  • 通过HttpUrlConnection在服务器上注册用户数据的Post请求 在android中通过http post方法发送json对象 如何用Android通过请求发送JSON对象?

  • 本文向大家介绍jquery中AJAX请求 $.post方法的使用,包括了jquery中AJAX请求 $.post方法的使用的使用技巧和注意事项,需要的朋友参考一下 使用jQuery的$.post方法可以以POST形式向服务器发起AJAX请求。$.post方法是jQuery的实用工具方法。 post和get发送方式的特点, GET 方法提交数据不安全,数据置于请求行,客户端地址栏可见; GET 方法

  • 最简单的方法是什么? 我甚至不想看回应。我只想通过PHP文件发送它来执行对数据库的更改。

  • 问题内容: 我必须向网络服务发出http发布请求,以使用用户名和密码对用户进行身份验证。Web服务人员向我提供了以下信息,以构造HTTP Post请求。 我将得到的XML响应是 这就是我正在做的HttpPost postRequest = new HttpPost(urlString); 我该如何构造其余参数? 问题答案: 这是之前在上找到的示例(该站点目前不再维护)。 因此,你可以将参数添加为。

  • 问题内容: 我几天前才刚开始学习android,但是我将JSON数据上传到服务器时遇到了问题。我设法通过以下代码检索它: 编辑:我确实设法使用外部OKHTTP库检索文件,但是我想这样做而不使用外部库。 我现在正尝试将数据发送到具有相同字段的相同服务器。我搜索了互联网,但是发现的大多数东西都已经过时了。我真的很想提供一些帮助或示例。最好的祝福 问题答案: 使用此处定义的Volley 。这要容易得多。

  • 问题内容: 我几天前才刚开始学习android,但是我将JSON数据上传到服务器时遇到了问题。我设法通过以下代码检索它: 编辑:我确实设法使用外部OKHTTP库检索文件,但是我想这样做而不使用外部库。 我现在正尝试将数据发送到具有相同字段的相同服务器。我搜索了互联网,但是发现的大多数东西都已经过时了。我真的很想提供一些帮助或示例。最好的祝福 问题答案: 使用此处定义的Volley 。这要容易得多。

  • 问题内容: 我正在尝试在Swift中运行HTTP请求,以将2个参数发布到URL。 例: 链接: 参数: 最简单的方法是什么? 我什至不想阅读回复。我只想发送该文件,以通过PHP文件对数据库进行更改。 问题答案: 在Swift 3及更高版本中,您可以: 哪里: 这将检查基本的网络错误以及高级HTTP错误。这也可以正确地对查询的参数进行转义。 请注意,我使用的of 来说明的正确结果,该结果是“百分比编