HTTP通信POST方式

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class mainActivity extends Activity {
    TextView tv;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tv = (TextView) findViewById(R.id.tv1);
        String resultData = "";
        // GET方法需要权限
        String httpurl = "http://10.0.2.2:8080/dem/index.jsp";
        // 创建URL
        URL url = null;
        try {
            // 构建URL对象
            url = new URL(httpurl);
        }
        catch(MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if(url != null) {
            try {
                // 使用HttpURLConnection打开连接
                HttpURLConnection urlConn = (HttpURLConnection) url
                        .openConnection();
                // 因为是POST请求,所以需要设置为true
                urlConn.setDoInput(true);
                urlConn.setDoOutput(true);
                // 设置请求方式
                urlConn.setRequestMethod("POST");
                // 请求不使用缓存
                urlConn.setUseCaches(false);
                // 重定向
                urlConn.setInstanceFollowRedirects(true);
                // 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的
                urlConn.setRequestProperty("Content-Type",
                        "application/x-www-form-urlencoded");
                // 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,
                // 要注意的是connection.getOutputStream会隐含的进行connect
                urlConn.connect();
                // DataOutputStream 流
                DataOutputStream out = new DataOutputStream(
                        urlConn.getOutputStream());
                // 添加参数
                String content = "par=" + URLEncoder.encode("asasdf", "gb2312");
                // 将参数写入流中
                out.writeBytes(content);
                // 刷新
                out.flush();
                // 关闭
                out.close();
                // 获取数据
                BufferedReader read = new BufferedReader(new InputStreamReader(
                        urlConn.getInputStream()));
                String inputLine = null;
                // 循环读取数据
                while((inputLine = read.readLine()) != null) {
                    // 换行
                    resultData += inputLine + "\n";
                }
                // 关闭
                read.close();
                // 断开
                urlConn.disconnect();
                if(resultData != null) {
                    tv.setText(resultData);
                }
                else {
                    tv.setText("读取的内容为NULL");
                }

                // if(resultData != null) {
                // }
                // else {
                // tv.setText("内容为空");
                // }

            }
            catch(IOException e) {
                // TODO Auto-generated catch block
                Log.e("a", e.getMessage());
            }
        }

    }
}
<uses-permission android:name="android.permission.INTERNET" />


版权声明:本文为博主原创文章,未经博主允许不得转载。

转载于:https://my.oschina.net/u/2406628/blog/473381

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值