zoukankan      html  css  js  c++  java
  • 【工具】java发送GET、POST请求

    
    

      前项目使用这种HTTP的方式进行数据交互,目前已更换数据交互方式,但是作为接口提供调用来说还是比较简洁高效的:

      总体流程就是:

      1、发送HTTP请求

      2、获取返回的JSON对象

      3、JSON转换

    package com.xx;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.List;
    import java.util.Map;
    
    
    public class SendGetPost {
    
    	/**
    	 * 发送get请求
    	 * 参数设置:?param=val¶m2=val2
    	 * @author TF
    	 *
    	 */
    	public static String sendGet(String url){
    	String result = "";
    	BufferedReader in = null;
    	try {
    		//创建URL对象、
    		URL urlGet =new URL(url);
    		//打开URL连接
    		URLConnection connection = urlGet.openConnection();
    		//设置请求头信息
    		connection.setRequestProperty("accept", "*/*");
    	        connection.setRequestProperty("connection", "Keep-Alive");
    	        connection.setRequestProperty("user-agent","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0");
    	        connection.setRequestProperty("contentType", "UTF-8");
    	        //建立连接
    	        connection.connect();
    	        // 获取所有响应头字段
    	        Map<String, List<String>> map = connection.getHeaderFields();
    	        // 定义 BufferedReader输入流来读取URL的响应
    	        in = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));
    	        String line;
                    while ((line = in.readLine()) != null) {
                	    result += line;
                    }
    	} catch (MalformedURLException e) {
    			e.printStackTrace();
    	} catch (IOException e) {
    			e.printStackTrace();
    	}
    		
    		return result;
    	}
    	/**
    	 * 发送post请求
    	 * 参数设置param1=val1&m2=val2
    	 * 
    	 * */
    	public static String sendPost(String url,String param){
    		String result = "";
    	    BufferedReader in = null;
    	    OutputStreamWriter out = null;
    		try {
    			//创建URL对象、
    			URL urlPost = new URL(url);
    			//打开URL连接
    			URLConnection connection = urlPost.openConnection();
    			HttpURLConnection conn = (HttpURLConnection) connection;
    			 // 设置通用的请求属性
    	          conn.setRequestProperty("accept", "*/*");
    	          conn.setRequestProperty("connection", "Keep-Alive");
    	          conn.setRequestProperty("user-agent","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0");
    	          conn.setRequestMethod("POST");
    	          // 发送POST请求必须设置如下两行
    	          conn.setDoOutput(true);
    	          conn.setDoInput(true);
    	          // 获取URLConnection对象对应的输出流
    	          out = new OutputStreamWriter(conn.getOutputStream(),"UTF-8");
    	          // 发送请求参数
    	          out.write(param);
    	          // flush输出流的缓冲
    	          out.flush();
    	          // 定义BufferedReader输入流来读取URL的响应
    	          in = new BufferedReader(
    	                  new InputStreamReader(conn.getInputStream(),"UTF-8"));
    	          String line;
    	          while ((line = in.readLine()) != null) {
    	              result += line;
    	          }
    		} catch (MalformedURLException e) {
    			System.out.println("error");
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    		
    		return result;
    	}
    }



     
  • 相关阅读:
    最长不重复子串
    add two nums
    logistic 回归
    threesum
    KNN算法思想与实现
    Python的易错点
    ccf 目录格式转换
    Azure 带宽
    Office 365 如何使用powershell查询邮件追踪
    Azure AD Connect 手动同步
  • 原文地址:https://www.cnblogs.com/the-fool/p/11054217.html
Copyright © 2011-2022 走看看