HttpURLConnection请求

HttpURLConnection.setRequestProperty的作用

HttpURLConnection.setRequestProperty(String key,String value);  

例如:下面就是一个完整的原始网络请求方式


 
 
  1. HttpURLConnection conn = null;
  2. try {
  3. URL my_url = new URL(log());
  4. //得到connection对象。
  5. conn = (HttpURLConnection) my_url.openConnection();
  6. //允许写出
  7. conn.setDoOutput( true);
  8. //允许读入
  9. conn.setDoInput( true);
  10. //设置请求方式
  11. conn.setRequestMethod( "POST");
  12. conn.setUseCaches( false);
  13. conn.setConnectTimeout( 60 * 1000);
  14. conn.setReadTimeout( 60 * 1000);
  15. //设置请求头
  16. conn.setRequestProperty( "Charsert", "UTF-8");
  17. conn.setRequestProperty( "Content-Type", "application/json; charset=UTF-8"); //设置参数类型是json格式
  18. conn.setRequestProperty( "Connection", "Keep-Alive");
  19. conn.setRequestProperty( "logType", "base");
  20. //连接网络。请求行,请求头的设置必须放在网络连接前
  21. conn.connect();
  22. BufferedWriter writer = new BufferedWriter( new OutputStreamWriter(conn.getOutputStream(), "UTF-8"));
  23. writer.write(String.valueOf(hashMap));
  24. writer.close();
  25. //得到响应码
  26. int responseCode = conn.getResponseCode();
  27. MyLogcat.e( "网络传输" + responseCode + "***" + conn.getResponseMessage() + String.valueOf(hashMap));
  28. if (responseCode == 200) {
  29. //得到响应流
  30. InputStream inputStream = conn.getInputStream();
  31. //将响应流转换成字符串
  32. String returnLine = getStringFromInputStream(inputStream);
  33. String str = "Success" + conn.getResponseCode() + "---" + conn.getResponseMessage() + "---" + returnLine;
  34. } else {
  35. String str = "Error" + conn.getResponseCode() + "---" + conn.getResponseMessage();
  36. }
  37. } catch (Exception e) {
  38. e.printStackTrace();
  39. } finally {
  40. if (conn != null) {
  41. conn.disconnect();
  42. }
  43. }
  44. /**
  45. * 通过字节输入流返回一个字符串信息
  46. */
  47. private static String getStringFromInputStream(InputStream is) throws Exception {
  48. ByteArrayOutputStream baos = new ByteArrayOutputStream();
  49. byte[] buffer = new byte[ 1024];
  50. int len = 0;
  51. while ((len = is.read(buffer)) != - 1) {
  52. baos.write(buffer, 0, len);
  53. }
  54. is.close();
  55. // 把流中的数据转换成字符串, 采用的编码是: utf-8
  56. String status = baos.toString();
  57. baos.close();
  58. return status;
  59. }

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值