• 使用HTTP协议访问网路


    使用HTTP协议访问网路

    一、使用HttpURLConnection

    //new一个URL对象
    URL url = new URL("http://www.qq.com");//千万不要用www.baidu.com,坑爹东西
    //调用openConnection()方法,得到HttpURLConnection对象
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    //对HttpURLConnection对象设置模式,GET 表示希望从服务器那里获取数据,而 POST 则表示希望提交数据给服务器。
    connection.setRequestMethod("GET");
    //设置连接超时、读取超时的毫秒数
    connection.setConnectTimeout(8000);
    connection.setReadTimeout(8000);
    //调用 getInputStream()方法获取到服务器返回的输入流
    InputStream in = connection.getInputStream();
    //对输入流进行读取操作
    BufferedReader reader = new BufferedReader(new InputStreamReader(in));
    StringBuilder response = new StringBuilder();
    String line;
    //当该行不为空,返回一行
    while ((line = reader.readLine()) != null) {
        Log.d(TAG, "line != null" + line);
        response.append(line);
    }
    //通过handler把message发送出去
    Message message = new Message();
    message.what = SHOW_RESPONSE;
    if (response.toString() == null) {
        message.obj = response.toString() + "啥也没有";
    } else {
        message.obj = response.toString();
    }
    mHandler.sendMessage(message);
    

    主线程中创建handler,并重写handlerMessage()方法,等待来自sendMessage的信息

    private Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case SHOW_RESPONSE:
                //判断信息并更新UI操作
                    String response = (String) msg.obj;
                    NetworkTextView.setText(response);
                    break;
            }
        }
    };
    

    向服务器推送数据

    connection.setRequestMethod("POST");
    DataOutputStream out = new DataOutputStream(connection.getOutputStream());
    out.writeBytes("username=admin&password=123456");//数据与数据之间用"&"隔开
  • 相关阅读:
    GoGin 跨域处理
    Vue sso认证快速接入实践
    领域驱动设计(DDD):项目目录(包、模块)结构
    高绩效团队建设与管理系列课程
    VR设备产业链
    Supercell资深策划谈三大产品制作经验:游戏设计就像丛林探险,必须险中求胜
    领导力管理培训课
    博众投资:虚拟数字人概念,开辟元宇宙炒作新战场!
    FW: Flow区块链门票NFT开发实战【含源码】
    放弃学术研究,做投资大获成功
  • 原文地址:https://www.cnblogs.com/cenzhongman/p/6403349.html
Copyright © 2020-2023  润新知