当前位置: 首页 > 知识库问答 >
问题:

从Android发送参数化HTTP POST请求

慕容高卓
2023-03-14
curl -X POST --data "token={String}&param1={int}&param2={int}" https://www.example.com/api/dir1/dir2"
        String post_url = "https://www.example.com/api/dir1/dir2";
        Thread thread = new Thread(new Runnable() {
        public void run() {
            try {

                String urlParameters = "token={Key-string}&param1={int}&param2={int}";
                byte[] postData = urlParameters.getBytes();
                int postDataLength = postData.length;

                URL url = new URL(post_url);
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.setReadTimeout(10000 /* milliseconds */);
                conn.setConnectTimeout(15000 /* milliseconds */);
                conn.setRequestMethod("POST");
                conn.setRequestProperty("Accept", "application/json");
                conn.setRequestProperty("charset", "utf-8");
                conn.setRequestProperty("Content-Length",Integer.toString(postDataLength));
                conn.setDoInput(true);
                conn.setDoOutput(true);
                conn.connect();

                OutputStream os = conn.getOutputStream();
                os.write(urlParameters.toString().getBytes("UTF-8"));
                os.close();

                InputStream stream = conn.getInputStream();

                BufferedReader in = new BufferedReader( new InputStreamReader(stream ));
                String data = null;
                StringBuffer response = new StringBuffer();

                while ((data = in.readLine()) != null) {
                    response.append(data);}
                in.close();

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });

    thread.start();
  • POST请求发送json数据java HTTPURLConnection
  • 从Android发送JSON HTTP POST请求
  • Java-通过POST方法轻松发送HTTP参数
  • 应用程序/x-www-form-urlencoded还是多部分/form-data?
  • 如何使用POST向HttpURLConnection添加参数
  • JSON解析,创建URLConnection-Android Studio

共有1个答案

戴正阳
2023-03-14

你可以尝试在邮递员(谷歌chrome插件)中拨打电话,然后点击代码链接。Postman会用很多种语言向您生成请求,比如PHP、java、C等。

例如:

添加到您的分级:

compile 'com.squareup.okhttp3:okhttp:3.5.0'
    new Thread() {
       public void run() {
           makeCall();
       }
    }.start();
    public void makeCall() {

    OkHttpClient client = new OkHttpClient();

    MediaType mediaType = MediaType.parse("application/json");
    RequestBody body = RequestBody.create(mediaType, "{\n   \"param1\":\"data1\"}");
    Request request = new Request.Builder()
            .url("https://your_url_here")
            .post(body)
            .addHeader("content-type", "application/json")
            .addHeader("cache-control", "no-cache")
            .build();

    try {
        Response response = client.newCall(request).execute();

        Log.e("okmsg1", response.toString());
        Log.e("okmsg2", response.message());
        Log.e("okmsg3", response.body().string());

    } catch (IOException e) {
        Log.e("err", e.getMessage());
    }

}
 类似资料:
  • 本文向大家介绍Android使用httpPost向服务器发送请求的方法,包括了Android使用httpPost向服务器发送请求的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android使用httpPost向服务器发送请求的方法。分享给大家供大家参考,具体如下: 可以直接用的完整类。 希望本文所述对大家Android程序设计有所帮助。

  • 我想使用表单urlencoded参数制作POST JSONObjectRequest。我该怎么做?我尝试了以下代码,但无济于事。 我在api调用中收到了一个400错误的请求!我如何修复它?

  • 问题内容: 我正在使用下面的代码发送http POST请求,该请求将对象发送到WCF服务。可以,但是如果我的WCF服务还需要其他参数怎么办?如何从Android客户端发送它们? 这是我到目前为止编写的代码: 问题答案: 使用POST发布参数: 你错过的部分在以下内容中,即如下。 其余的事情你都可以做到。

  • 我在JSP页面中有一个带有下拉列表的表单 在我的行动方法中,我正在做以下事情: 它工作得很好,但是我还想发回相同的字符串,这样我就可以将“selected”字符串添加到正确的选项元素中,以便在提交表单时保持选中状态。 现在我正在用我的行动方法做这件事 但我不知道如何将条件逻辑添加到我的jsp中,使其类似于

  • 我一直试图从我的Android应用程序向一个URL发送一个POST请求,但我得到的只是一个空的$_POST。下面是我的代码,它运行在AsyncTask中。我在StackOverflow中查看了几个类似的问题,但没有一个能帮助我。 我在AndroidManifest.xml中拥有INTERNET权限。在这个相同的应用程序中,我做了另一个PHP脚本的请求,它按预期工作。 有什么想法吗?

  • 对传递的 URL 发出一个 POST 请求。 使用 XMLHttpRequest web api 对给定的url 发出一个 post 请求。 用 setRequestHeader 方法设置 HTTP 请求头的值。 通过调用给定的 callback 和 responseText 来处理 onload 事件。 通过运行提供的 err 函数,处理onerror事件。 省略第三个参数 data ,不发送数