HttpURLConnection对象相关方法操作

本文通过两个具体示例介绍了如何使用Java发起HTTP GET和POST请求。GET请求用于获取验证码图片,而POST请求用于注册用户,其中包含了设置请求头、发送参数、处理响应等关键步骤。

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

get访问方式。

public void getCode2(View v){

        //        step1. 起线程
        new Thread(){
            public void run() {
                try {
                    //step2. 创建能够进行网络访问的对象(HttpClient对象/HttpURLConnection对象)
                    URL url = new URL("http://IP:8080/ems/getCode.do");
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    //step3. 设定网络访问的方式(GET/POST)
                    connection.setRequestMethod("GET");
                    connection.setDoInput(true);
                    //step4. 设定参数
                    //step5. 发起真正的请求,获得响应
                    connection.connect();
                    String value = connection.getHeaderField("Set-Cookie");
                    ID2=value.split(";")[0];
                    InputStream is = connection.getInputStream();
                    //step6. 解析响应内容
                    Bitmap bitmap = BitmapFactory.decodeStream(is);
                    is.close();
                    //step7. 将内容提交到主线程中显示
                    Message.obtain(handler, 101, bitmap).sendToTarget();
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            };
        }.start();

    }

注册时post访问方法,带参数

public void regist2(View v){
        //step1. 起线程
        new Thread(){
            public void run() {
                try {
                    //step2. 创建能够进行网络访问的对象(HttpClient对象/HttpURLConnection对象)
                    URL url = new URL("http://IP:8080/ems/regist.do");
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    //step3. 设定网络访问的方式(GET/POST)
                    connection.setRequestMethod("POST");
                    connection.setDoInput(true);
                    connection.setDoOutput(true);
                    connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                    //step4. 设定参数
                    connection.connect();
                    OutputStream out = connection.getOutputStream();
                    PrintWriter pw = new PrintWriter(out);
                    String params="";
                    HashMap<String, String> map = new HashMap<String, String>();
                    map.put("loginname", "laozhang");
                    map.put("password", "654321");
                    map.put("realname", "zhang");
                    map.put("email", "zhang@bbc.com");
                    params = getParams(map);
                    pw.print(params);
                    pw.flush();
                    pw.close();
                    //step5. 发起真正的请求,获得响应
                    InputStream in = connection.getInputStream();
                    BufferedReader br = new BufferedReader(
                            new InputStreamReader(in));
                    //step6. 解析响应内容
                    String result = br.readLine();
                    br.close();
                    //step7. 将内容提交到主线程中显示
                    Message.obtain(handler, 102, result).sendToTarget();
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            };
        }.start();
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值