android简易http服务器,android访问http服务器的几种方法

本文介绍了在Android应用中,通过HttpURLConnection和HttpClient进行HTTP请求的实现,以及对比它们的优缺点,重点展示了如何使用这两种技术获取远程数据。同时,展示了POST方式的安全传输过程。
摘要由CSDN通过智能技术生成

public class MainActivity extends Activity {

String TAG = "MainActivity";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

new Thread(new Runnable() {

@Override

public void run() {

// TODO Auto-generated method stub

URL url;

try {

url = new URL(

"http://192.168.1.123:8080/FirsetSelevet/ch10?aaa=abcdef");

//***********************HttpURLConnection接口*********************

HttpURLConnection mHttpURLConnection = (HttpURLConnection) url

.openConnection();

int reps = mHttpURLConnection.getResponseCode();

InputStream is = mHttpURLConnection.getInputStream();

InputStreamReader ir = new InputStreamReader(is);

BufferedReader br = new BufferedReader(ir);

String inputLine = br.readLine();

Log.i(TAG, inputLine);

is.close();

mHttpURLConnection.disconnect();

//***********************HttpClient接口*********************

//Get方式。参数直接放到url中

HttpClient hc = new DefaultHttpClient();

HttpGet hg = new HttpGet("http://192.168.1.123:8080/FirsetSelevet/ch10?aaa=abcdef");// 使用get方法

HttpResponse hr = hc.execute(hg);

if(hr.getStatusLine().getStatusCode()==HttpStatus.SC_OK){

Log.i(TAG, EntityUtils.toString(hr.getEntity()));

}

//

//Post方式。参数直接放到Entity中,这种方式在传输的时候更加安全一点

HttpPost hp = new HttpPost("http://192.168.1.123:8080/FirsetSelevet/ch10");

List params = new ArrayList();

params.add(new BasicNameValuePair("aaa", "abcdef"));

HttpEntity he = new UrlEncodedFormEntity(params, "gb2312");

hp.setEntity(he);

HttpResponse hr1 = hc.execute(hp);

HttpEntity hget = hr1.getEntity();

// Log.i(TAG, EntityUtils.toString(hr.getEntity()).get);

} catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

}

}).start();

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.activity_main, menu);

return true;

}

}当然不要忘记打开网络权限。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值