网络编程(二):http的get和post协议向服务器提交数据

通过网络提交数据到服务器

使用get和post向服务器提交数据、多线程断点下载

http的get和post协议向服务器提交数据


1 使用GET方式向服务器端提交数据

  • 原理:把要提交是数据组拼到Url后面
  • 缺点:不安全
  • 优点:代码书写简单

2 使用POST方式向服务器端提交数据

  • 缺点:代码书写复杂
  • 优点:安全

    /**
     * 1. 在子线程中进行网络通讯 
     * 2. 把流转成字符串 
     * 3. 用土司把服务器返回的结果弹出(handler)
     */
    public void login(View v) {
        qq = etQQ.getText().toString().trim();
        pwd = etPwd.getText().toString().trim();
    
        // 开启子线程
        new Thread() {
            public void run() {
                try {
                    //(1)请求的Url不一样
                    String path = "http://192.168.3.100:8080/web/LoginServlet";
                    // 1. 写一个Url
                    URL url = new URL(path);
                    // 2. 打开连接
                    HttpURLConnection conn = (HttpURLConnection) url
                            .openConnection();
                    // 3. 设置请求方式
                    //(2)请求方法不一样
                    conn.setRequestMethod("POST");
                    conn.setConnectTimeout(3000);
                    //(3)多了两个请求头
                    String data = "qq="+qq+"&pwd="+pwd;
                    conn.setRequestProperty("Content-Length", String.valueOf(data.length()));
                    conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
                    //(4)以二进制流的方式把数据写到服务器
                    //重要,声明要给服务器写数据
                    conn.setDoOutput(true);
                    conn.getOutputStream().write(data.getBytes());
                    // 4. 获取状态吗
                    int code = conn.getResponseCode();
                    if (code == 200) {
                        // 5. 获取服务器返回的输入流
                        InputStream is = con
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值