JDK -GET,POST

本文提供了使用JDK发起HTTP GET和POST请求的具体实现示例,包括如何构造URL、设置请求头、发送请求参数及接收服务器响应,并展示了如何在Android应用中处理这些网络请求。

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

GET

public class JDKActivity extends AppCompatActivity {

    EditText et1;
    RequestQueue requestQueue;
    //请求队列
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_jdk);
        et1=(EditText)findViewById(R.id.et1);
}
//显示结果
    String str = "";
    //JDK-GEt方式
    public void bt_1(View v)
    {
        //1-启动进度对话框
        final ProgressDialog pd = ProgressDialog.show(this,null,"请稍后……");

        //2-启动子线程,访问远程服务器
        new Thread()
        {
            @Override
            public void run() {
                //1-访问远程服务器
                //JDK GET
                HttpURLConnection huc=null;
                try {
                    //1-先构造URL对象
                    URL url = new URL("http://192.168.0.164:81/index.asp?name=mike&password=456");
                    //2-得到连接对象HttpURLConnection
                    huc= (HttpURLConnection)url.openConnection();
                    //3-设置HttpURLConnection
                    huc.setRequestMethod("GET");
                    huc.setConnectTimeout(3000);
                    huc.setReadTimeout(3000);
                    //4-连接远程服务器
                    huc.connect();
                    //5-接收响应报文的状态码
                    int code=huc.getResponseCode();
                    str = "";
                    //6-判断响应状态码,是否等于200
                    if (code==200)
                    {
                        //7-处理
                        //1-接收数据
                        //2-得到数据流
                        InputStream is = huc.getInputStream();
                        //读到的数据
                        byte[] b = new byte[1024];
                        //读到的数据长度
                        int i=0;
                        while ((i=is.read(b))>0)
                        {
                            //接收字符串
                            str +=new String(b,0, i);
                        }
                        is.close();
                    }
                    else
                    {
                        str="响应错误,错误码"+code;
                    }

                    //显示结果,不能直接跨线程访问主线程的视图
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            et1.setText(str);
                        }
                    });
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
                finally {
                    //8-关闭链接和进度对话框
                    //释放资源
                    if (huc!=null)
                    {
                        huc.disconnect();
                    }
                    //支持跨线程访问
                    pd.dismiss();
                }
            }
        }.start();
    }
View Code

 

POST

//JDK-POST方式
    public void bt_2(View v)
    {
        //1-启动进度对话框
        final ProgressDialog pd = ProgressDialog.show(this,null,"请稍后……");

        //2-启动子线程,访问远程服务器
        new Thread()
        {
            @Override
            public void run() {
                //1-访问远程服务器
                //JDK POST
                HttpURLConnection huc=null;
                try {
                    //1-先构造URL对象
                    URL url = new URL("http://192.168.0.164:81/index.asp");
                    //2-得到连接对象HttpURLConnection
                    huc= (HttpURLConnection)url.openConnection();
                    //3-设置HttpURLConnection
                    huc.setRequestMethod("POST");
                    huc.setConnectTimeout(3000);
                    huc.setReadTimeout(3000);

                    //4-连接远程服务器,输出流
                    huc.connect();
                    //数据放到请求集里
                    //1)得到输入流
                    OutputStream os=huc.getOutputStream();
                    String outstr="name=tom&password=123 ";
                    os.write(outstr.getBytes("UTF-8"));
                    //5-接收响应报文的状态码
                    int code=huc.getResponseCode();
                    str = "";
                    //6-判断响应状态码,是否等于200
                    if (code==200)
                    {
                        //7-处理
                        //1-接收数据
                        //2-得到数据流,输入流
                        InputStream is = huc.getInputStream();
                        //读到的数据
                        byte[] b = new byte[1024];
                        //读到的数据长度
                        int i=0;
                        while ((i=is.read(b))>0)
                        {
                            //接收字符串
                            str +=new String(b,0, i);
                        }
                        is.close();
                        os.close();
                    }
                    else
                    {
                        str="响应错误,错误码"+code;
                    }

                    //显示结果,不能直接跨线程访问主线程的视图
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            et1.setText(str);
                        }
                    });
                }
                catch (Exception e)
                {
                    e.printStackTrace();
                }
                finally {
                    //8-关闭链接和进度对话框
                    //释放资源
                    if (huc!=null)
                    {
                        huc.disconnect();
                    }
                    //支持跨线程访问
                    pd.dismiss();
                }
            }
        }.start();


    }
View Code

转载于:https://www.cnblogs.com/1ming/p/5586215.html

"C:\Program Files\Java\jdk-1.8\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.3.5\lib\idea_rt.jar=51864" -javaagent:C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2024.3\captureAgent\debugger-agent.jar -Dkotlinx.coroutines.debug.enable.creation.stack.trace=false -Ddebugger.agent.enable.coroutines=true -Dkotlinx.coroutines.debug.enable.flows.stack.trace=true -Dkotlinx.coroutines.debug.enable.mutable.state.flows.stack.trace=true -Dfile.encoding=UTF-8 -classpath "C:\Program Files\JetBrains\IntelliJ IDEA 2024.3.5\lib\idea_rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2024.3.5\plugins\junit\lib\junit5-rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2024.3.5\plugins\junit\lib\junit-rt.jar;C:\Program Files\Java\jdk-1.8\jre\lib\charsets.jar;C:\Program Files\Java\jdk-1.8\jre\lib\deploy.jar;C:\Program Files\Java\jdk-1.8\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk-1.8\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk-1.8\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk-1.8\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk-1.8\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk-1.8\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk-1.8\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk-1.8\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk-1.8\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk-1.8\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk-1.8\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk-1.8\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk-1.8\jre\lib\javaws.jar;C:\Program Files\Java\jdk-1.8\jre\lib\jce.jar;C:\Program Files\Java\jdk-1.8\jre\lib\jfr.jar;C:\Program Files\Java\jdk-1.8\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk-1.8\jre\lib\jsse.jar;C:\Program Files\Java\jdk-1.8\jre\lib\management-agent.jar;C:\Program Files\Java\jdk-1.8\jre\lib\plugin.jar;C:\Program Files\Java\jdk-1.8\jre\lib\resources.jar;C:\Program Files\Java\jdk-1.8\jre\lib\rt.jar;C:\Users\Administra
03-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值