网络技术
2018-10-19 本文已影响0人
爱做梦的严重精神病患者
1.WebView
借助WebView我们可以在自己的控件里嵌入一个浏览器。
//调用setJavaScriptEnabled()方法来让WebView支持JavaScript脚本。
webView.getSettings().setJavaScriptEnabled(true);
//跳转网页时,仍使用WebView
webView.setWebViewClient(new WebViewClient());
//传入网址
webView.loadUrl("http://www.baidu.com");
2.HttpURLConnection
首先要获取HttpURLConnection的实例,需要一个URL对象,然后调用openConnection()方法即可。
URL url = new URL("http://www.baidu.com");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
接下来设置HTTP请求所使用的方法,GET和POST。之后设置一些例如连接超时、读取超时的毫秒数以及服务器希望得到的一些消息头等。
//GET方法
connection.setRequestMethod("GET");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
//POST方法
connection.setRequestMethod("POST");
//获取输出流
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
//写入提交POST数据
out.writeBytes("username=admin&password=123456");
之后再调用getInputStream()方法,获得服务器返回的输入流,对输入流进行读取。最后,关闭HTTP连接。
InputStream in = connection.getInputStream();
connection.disconnect();
3.OkHttp
在使用OkHttp之前,需要先在项目中添加依赖。之后来看一下OkHttp的具体用法。首先创建一个OkHttp的具体实例。
接下来如果想要发起一条HTTP请求(GET),就需要创建一个Request对象。如果发起一条POST请求,需要先构建出一个RequestBody对象来存放提交的参数,然后在Request.Builder中调用post()方法,并传入RequestBody对象。
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://www.baidu.com")
.build();
RequestBody requestBody = new FormBody.Builder()
.add("username", "admin")
.add("password", "123456")
.build();
Request request = new Request.Builder()
.url("http://www.baidu.com")
.post(requestBody)
.build();
之后调用OkHttpClient的newCall()方法来创建一个Call对象,并调用它的execute()方法来发送请求,并获取服务器返回的数据。其中Response对象就是服务器返回的对象。
Response response = client.newCall(request).execute();
String responseData = response.body().string();