Android Http记录

整理Http使用笔记 Android 的http连接提供了两种方式,HttpClient和HttpURLConnection,下面分别记录两个方法的用法

1,HttpURLConnection  通过url.openConnecttion()得到

如URL url = new URL("dddddd");  HttpURLConnection connection = url.openConnection();

  然后进行参数设置 

connection.setDoOutput(true);connection.setDoInput(true); //设置输入输出流

connection.setRequestMethod("POST");  //设置请求方式,默认为get

connection.setUseCaches(false);//POST请求不能使用缓存

  // 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的  

    connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");  

  // 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,  

         // 要注意的是connection.getOutputStream会隐含的进行connect。                  

connection.connect();                  //DataOutputStream流                 

  DataOutputStream out = new DataOutputStream(urlConn.getOutputStream());                  

//要上传的参数                  

String content = "par=" + URLEncoder.encode("ABCDEFG""gb2312");                 

  //将要上传的内容写入流中                  

out.writeBytes(content);                  

  //刷新、关闭                  

out.flush();                  

out.close();

connection.disconnect();

2得到输入流数据

InputStreamReader reader = new InputStreamReader(connection.getInputStream());

StringBuffer sb = new StringBuffer();

BufferReader br= new BufferReader(reader);

String s = null;

while(s=br.readLine()!=null)

sb.append(s+"\n");

reader .close();

二 HttpClient

1HttpGet

//设置请求超时
HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 5000;
HttpConnectionParams.setConnectionTimeout(httpParameters,
timeoutConnection);
int timeoutSocket = 5000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
String url = "url";
//httpGet
HttpGet httpGet = new HttpGet(url);
//得到httpClient实例
HttpClient httpClient = new DefaultHttpClient(httpParameters);

try {
HttpResponse response = httpClient.execute(httpGet);
if(response.getStatusLine().getStatusCode()==200){//连接成功
//得到服务器返回数据
String result  = EntityUtils.toString(response.getEntity(), "utf-8");
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

2 HttpPost请求

//设置请求超时
HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 5000;
HttpConnectionParams.setConnectionTimeout(httpParameters,
timeoutConnection);
int timeoutSocket = 5000;
HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
String url = "url";
//httpPost
HttpPost httpPost = new HttpPost(url);
//得到httpClient实例
HttpClient httpClient = new DefaultHttpClient(httpParameters);

//post 添加参数
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("key", "value"));

try {
UrlEncodedFormEntity encodedFormEntity = new UrlEncodedFormEntity(nameValuePairs);
httpPost.setEntity(encodedFormEntity);
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

try {
HttpResponse response = httpClient.execute(httpPost);
if(response.getStatusLine().getStatusCode()==200){//连接成功
//得到服务器返回数据
String result  = EntityUtils.toString(response.getEntity(), "utf-8");
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值