Http连接请求

一、HttpURLConnection
首先是URL建立一个对象,
URL url=new URL(“http://www.baidu.com”);
然后就是获得
HttpURLConnection connection=url.openConnection();
对connection进行设置即可以有
connection.setRequestMethod()等,参数有GET和POST;

设置连接时间,和阅读时间等
然后就能接收读取到信息
connection.getInputStream()得到InputStream对象然后使用BufferReader的方式再new StringBuilder()保存即可;

如果是POST即为提交数据的 话
即是
得到connection.getOutputStream();
然后DataOutputStream da=new DataOutputStream(OutputStream out);
da.writeBytes(“Username=admin&Pass=12345”);
二、HttpClient
HttpClient client=new DefaultHttpClient();获取HttpClient实例,不能直接创建实例因为HttpClient是一个接口。
HttpGet和HttpPost就是请求方式的两种类型;
HttpGet get=new HttpGet(“http://www.baidu.com”);
Httpclient.execute(get);

HttpPost post=new HttpPost(“http://www.baidu.com“);
提交数据应该先封装数据;
List params=new ArrayList();
params .add(new NameValue(”username“,”admin“));//可见数据时key-value形式;
先把数据封装成entity即编码
UrlEncodeFormEntity entity=new UrlEncodeFormEntity (params,”utf-8“);
post.setEntity(entity);
client.execute(post);

然后执行了execute后会返回HttpResponse对象
HttpResponse httpResponse=client.execute(get);
那么
判断其是否请求和回应都成功即是
if(httpResponse.getStatusLine().getStatusCode()==200)
成功了就能获取数据
HttpEntity entity=httpResponse.getEntity();
String str=EntityUtils.toString(entity,”utf-8”);

注意:
Android studio中6.0后HttpClient已经被移除。
在android 6.0(API 23)中,Google已经移除了移除了Apache HttpClient相关的类
推荐使用HttpUrlConnection,如果要继续使用需要Apache HttpClient,需要在eclipse下libs里添加org.apache.http.legacy.jar,android studio里在相应的module下的build.gradle中加入:
android {
useLibrary ‘org.apache.http.legacy’
}
上面的jar包在:**\android-sdk-windows\platforms\android-23\optional下(需要下载android 6.0的SDK)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值