关于Okhttp的post请求数据

本文介绍如何使用OkHttp库在Android应用中发起POST请求,包括创建OkHttpClient实例、构造请求参数、发起请求并处理响应的过程。通过示例代码展示了具体的实现步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


先写一个方法

  public String getpost(String url){
            // 1.创建OkHttpClient
            OkHttpClient okHttpClient = new OkHttpClient.Builder()
                    .build();

            // 2.创建请求参数,注意,此处有多种方式
            RequestBody requestBody = new FormBody.Builder()
                    .add("key", "8a151c3a5164211acff0dbb0657a5fe1")
                    .add("menu", "红烧肉")
                    .build();
            // 3.创建请求request
            Request request = new Request.Builder()
                    .url(url)
                    .post(requestBody)
                    .build();
            // 4.发起请求,此处使用的是异步请求,按需要选择同步或异步
            try {
                Response response = okHttpClient.newCall(request).execute();
                if (response.code()==200){


                  return response.body().string();

                }

            } catch (IOException e) {
                e.printStackTrace();
            }
            return "";
        }


在主方法里写一个button的点击事件

 case R.id.post:
                    new Thread(){
                        @Override
                        public void run() {
                            super.run();
                            String requese=getpost("http://apis.juhe.cn/cook/query.php");
                            if (requese!=null){
                                Log.e("onResponse: ","sg发光时代"+requese
                                );
                            }
                        }
                    }.start();

                    break;





OkHttp 是一个开源的 HTTP 客户端,它是由 Square 公司贡献的一个轻量级框架,用于处理 Java 和 Android 应用程序的 HTTP 请求。其中,OkHttp 提供了丰富的请求方法,包括 GET、POST、PUT、DELETE 等等。而 OkHttpPOST 请求方法主要用于向服务器提交数据。 下面是一个简单的 OkHttp POST 请求的示例代码: ``` OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json; charset=utf-8"); RequestBody body = RequestBody.create(mediaType, "{\"username\":\"admin\",\"password\":\"123456\"}"); Request request = new Request.Builder() .url("http://example.com/api/login") .post(body) .addHeader("Content-Type", "application/json") .build(); Response response = client.newCall(request).execute(); String responseData = response.body().string(); ``` 在这个示例中,我们首先创建了一个 OkHttpClient 对象,然后定义了请求体的数据格式(application/json),并创建了一个 RequestBody 对象来存储请求体的内容。接下来,我们创建了一个 Request 对象,并通过调用 post() 方法来指定请求方法为 POST,并将前面创建的 RequestBody 对象作为参数传入。在构造完整的 Request 对象后,我们可以通过 addHeader() 方法添加请求头信息。最后,我们通过调用 OkHttpClient 对象的 newCall() 方法来发送请求,并通过调用 execute() 方法来执行该请求并获取响应结果。最终,我们可以通过调用 response.body().string() 方法获取响应体中的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值