这只是我在学Android过程中对于所学知识的巩固和方便日后查询的学习笔记,能帮助到有需要的和我一样的初学者就更好了
具体实现分为以下步骤
1、 创建访问地址的Url对象
2、创建HttpURLConnection对象
3、为HttpURLConnection对象连缀参数
4、打开输出流解析内容
5、关闭HttpURLConnection对象的网络连接
Url url=new Url("http://www.baidu.com");
HttpURLConnection connection=(HttpURLConnection)url.openConnection();
connection.setRequeseMethod("GET");//发送则为POST
connection.setConnectTimeout(8000);
connection.setReadTime(8000);
InputStream in=connection.getInputStream();
connection.disconnect();
当使用POST时
获取输入流
DataOutputStream out=new DataOutputStream(connection.getOutputStream());
out.writeBytes("user=admin"&"pastword=123456");//以键值对形式并用&分隔
开源OkHttp
具体实现如下
1、添加依赖compile 'com.squareup.okhttp3:okhttp:3.6.0'
2、获取OkHttpClient对象OkHttpClient clent=new OkHttpClient();
3、请求模式
GET
Request request=new Request.Builder().url("http://www.baidu.com").build();
POST
RequestBody body=new FromBody.Builder()
.add("username" ,"admin")
.add("pastword" ,"123456")
.build();
Request request=new Request.Builder()
.url("http://www.baidu.com")
.post(body)
.build();
4、发送请求
Response resopnse=client.newcall(request).execute();
5、获取结果
String responseText response=response.body().string();
可以直接封装成一个工具类
public class HttpUtil{
public static void sendOkHttpRequest(
String address ,okHttp3.Callback callback){
OkHttpClient client=new OkHttpClient();
Request request=new Request.Builder().url(address).build();
client.newcall(request).enqueue(callback);
//newcall()请求网络结果返回到callback接口中处理
}
}
使用时
HttpUtil.sendOkHttpRequest(address ,new callback(){
@override
public void onResponse(Call call ,Response response) throws IOException{
//逻辑,比如String responseText=response.body().string();
}
@override
public void onFailure(Call call ,IOException e){
//对于请求失败的逻辑处理
}
});