zoukankan      html  css  js  c++  java
  • java发送GET和post请求

      1 package com.baqingshe.bjs.util;
      2 
      3 import java.io.BufferedReader;
      4 
      5 import java.io.IOException;
      6 
      7 import java.io.InputStream;
      8 
      9 import java.io.InputStreamReader;
     10 
     11 import java.io.PrintWriter;
     12 
     13 import java.net.URL;
     14 
     15 import java.net.URLConnection;
     16 
     17 import java.util.List;
     18 
     19 import java.util.Map;
     20 
     21 import sun.net.www.protocol.http.HttpURLConnection;
     22 
     23 public class HttpRequest {
     24 
     25   public static String doGet(String url) throws Exception {
     26 
     27        URL localURL = new URL(url);
     28 
     29        URLConnection connection = localURL.openConnection();
     30 
     31        HttpURLConnection httpURLConnection = (HttpURLConnection)connection;
     32 
     33        
     34 
     35        httpURLConnection.setRequestProperty("Accept-Charset", "utf-8");
     36 
     37        httpURLConnection.setRequestProperty("Content-Type", "application/json");
     38 
     39        
     40 
     41        InputStream inputStream = null;
     42 
     43        InputStreamReader inputStreamReader = null;
     44 
     45        BufferedReader reader = null;
     46 
     47        StringBuffer resultBuffer = new StringBuffer();
     48 
     49        String tempLine = null;
     50 
     51        
     52 
     53        if (httpURLConnection.getResponseCode() >= 300) {
     54 
     55            throw new Exception("HTTP Request is not success, Response code is " + httpURLConnection.getResponseCode());
     56 
     57        }
     58 
     59        
     60 
     61        try {
     62 
     63            inputStream = httpURLConnection.getInputStream();
     64 
     65            inputStreamReader = new InputStreamReader(inputStream);
     66 
     67            reader = new BufferedReader(inputStreamReader);
     68 
     69            
     70 
     71            while ((tempLine = reader.readLine()) != null) {
     72 
     73                resultBuffer.append(tempLine);
     74 
     75            }
     76 
     77            
     78 
     79        } finally {
     80 
     81            
     82 
     83            if (reader != null) {
     84 
     85                reader.close();
     86 
     87            }
     88 
     89            
     90 
     91            if (inputStreamReader != null) {
     92 
     93                inputStreamReader.close();
     94 
     95            }
     96 
     97            
     98 
     99            if (inputStream != null) {
    100 
    101                inputStream.close();
    102 
    103            }
    104 
    105            
    106 
    107        }
    108 
    109        
    110 
    111        return resultBuffer.toString();
    112 
    113    }
    114 
    115    
    116 
    117     public static String sendPost(String url, String param) {
    118 
    119         PrintWriter out = null;
    120 
    121         BufferedReader in = null;
    122 
    123         String result = "";
    124 
    125         try {
    126 
    127             URL realUrl = new URL(url);
    128 
    129             // 打开和URL之间的连接
    130 
    131             URLConnection conn = realUrl.openConnection();
    132 
    133             // 设置通用的请求属性
    134 
    135             conn.setRequestProperty("accept", "*/*");
    136 
    137             conn.setRequestProperty("connection", "Keep-Alive");
    138 
    139             conn.setRequestProperty("user-agent",
    140 
    141                     "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
    142 
    143             // 发送POST请求必须设置如下两行
    144 
    145             conn.setDoOutput(true);
    146 
    147             conn.setDoInput(true);
    148 
    149             // 获取URLConnection对象对应的输出流
    150 
    151             out = new PrintWriter(conn.getOutputStream());
    152 
    153             // 发送请求参数
    154 
    155             out.print(param);
    156 
    157             // flush输出流的缓冲
    158 
    159             out.flush();
    160 
    161             // 定义BufferedReader输入流来读取URL的响应
    162 
    163             in = new BufferedReader(
    164 
    165                     new InputStreamReader(conn.getInputStream()));
    166 
    167             String line;
    168 
    169             while ((line = in.readLine()) != null) {
    170 
    171                 result += line;
    172 
    173             }
    174 
    175         } catch (Exception e) {
    176 
    177             System.out.println("发送 POST 请求出现异常!"+e);
    178 
    179             e.printStackTrace();
    180 
    181         }
    182 
    183         //使用finally块来关闭输出流、输入流
    184 
    185         finally{
    186 
    187             try{
    188 
    189                 if(out!=null){
    190 
    191                     out.close();
    192 
    193                 }
    194 
    195                 if(in!=null){
    196 
    197                     in.close();
    198 
    199                 }
    200 
    201             }
    202 
    203             catch(IOException ex){
    204 
    205                 ex.printStackTrace();
    206 
    207             }
    208 
    209         }
    210 
    211         return result;
    212 
    213     }    
    214 
    215 }
  • 相关阅读:
    Forms Authentication Against An XML File
    ADO.NET 2.0 中的新增 DataSet 功能
    转一篇:是什么导致了业务人员和技术人员的矛盾?
    谁说雨中登泰山别有一番风味的????
    缓存用户控件输出的多个版本
    Creating Collection Classes in C#
    Why Create a DataSet, use a DataTable
    Adding Relationships to DataTables
    读取手机联系人和SIM卡联系人
    Android移动动画的参数
  • 原文地址:https://www.cnblogs.com/daohangtaiqian/p/5067255.html
Copyright © 2011-2022 走看看