精华内容
下载资源
问答
  • java调用HTTP接口Get请求和Post请求)

    万次阅读 多人点赞 2018-09-14 16:43:27
    前提: 一个Http接口:http://172.83.38.209:7001/NSRTRegistration/test/add.do?id=8888888&...java代码调用Http接口代码如下(代码中注释分为两部分:处理get请求和post请求): package com.inspur.OKHTTP...

    敢扫吗,不敢的话,就别扫了

    前提:

    一个Http接口:http://172.83.38.209:7001/NSRTRegistration/test/add.do?id=8888888&name=99999999

    id和name是传入的参数

    浏览器访问接口:

    java代码调用Http接口代码如下(代码中注释分为两部分:处理get请求和post请求):

    package com.inspur.OKHTTP;
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    public class TESTOKHttp {
    
    	 /**
         * 调用对方接口方法
         * @param path 对方或第三方提供的路径
         * @param data 向对方或第三方发送的数据,大多数情况下给对方发送JSON数据让对方解析
         */
        public static void interfaceUtil(String path,String data) {
            try {
                URL url = new URL(path);
                //打开和url之间的连接
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                PrintWriter out = null;
                
                /**设置URLConnection的参数和普通的请求属性****start***/
               
                conn.setRequestProperty("accept", "*/*");
                conn.setRequestProperty("connection", "Keep-Alive");
                conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); 
                
                /**设置URLConnection的参数和普通的请求属性****end***/
                
                //设置是否向httpUrlConnection输出,设置是否从httpUrlConnection读入,此外发送post请求必须设置这两个
                //最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,
                //post与get的 不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。
                conn.setDoOutput(true);
                conn.setDoInput(true);
                
                conn.setRequestMethod("GET");//GET和POST必须全大写
                /**GET方法请求*****start*/
                /**
                 * 如果只是发送GET方式请求,使用connet方法建立和远程资源之间的实际连接即可;
                 * 如果发送POST方式的请求,需要获取URLConnection实例对应的输出流来发送请求参数。
                 * */
                conn.connect(); 
                
                /**GET方法请求*****end*/
                
                /***POST方法请求****start*/
                
                /*out = new PrintWriter(conn.getOutputStream());//获取URLConnection对象对应的输出流 
                
                out.print(data);//发送请求参数即数据
                
                out.flush();//缓冲数据
                */            
                /***POST方法请求****end*/
                
                //获取URLConnection对象对应的输入流
                InputStream is = conn.getInputStream();
                //构造一个字符流缓存
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                String str = "";
                while ((str = br.readLine()) != null) {
                	str=new String(str.getBytes(),"UTF-8");//解决中文乱码问题
                    System.out.println(str);
                }
                //关闭流
                is.close();
                //断开连接,最好写上,disconnect是在底层tcp socket链接空闲时才切断。如果正在被其他线程使用就不切断。
                //固定多线程的话,如果不disconnect,链接会增多,直到收发不出信息。写上disconnect后正常一些。
                conn.disconnect();
                System.out.println("完整结束");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        
        public static void main(String[] args) {
        	
        	interfaceUtil("http://172.83.28.221:7001/NSRTRegistration/test/add.do?id=8888888&name=99999999", "");//get请求
           
            /*interfaceUtil("http://172.83.28.221:7001/NSRTRegistration/test/add.do",
                 "id=8888888&name=99999999");*///post请求
        }
    
    }
    

    运行java代码:

    一个朋友新做的公众号,帮忙宣传一下,会不定时推送一些开发中碰到的问题的解决方法,以及会分享一些开发视频。资料等。请大家关注一下谢谢:

    展开全文
  • java调用HTTP接口Get请求和Post请求)
  • get请求 传递token */ static String doGet(String url,Map params,String token){ BufferedReader in = null; CloseableHttpResponse response=null; //1.创建HttpClient对象 CloseableHttpClient ...
    /**
    get请求 传递token
    */
    	static String doGet(String url,Map params,String token){
    		BufferedReader in = null;
    		CloseableHttpResponse response=null;
    		//1.创建HttpClient对象
    		CloseableHttpClient httpClient= HttpClients.createDefault();
    	try {
    		httpClient= HttpClients.createDefault();
          URIBuilder uriBuilder=new URIBuilder(url);
          //设置参数
          if (params!=null&&params.size()>0) {
        	  for (Object param : params.keySet()) {
        		  uriBuilder.setParameter(param+"",params.get(param)+"");
    		}
    	}
            //2.创建HttpGet对象,设置URL地址
          HttpGet httpGet=new HttpGet(uriBuilder.build());
          if (!StringUtils.isBlank(token)) { //设置请求token
        	  httpGet.setHeader("Authorization", "Bearer " + token);
    		}
          System.out.println("发送请求的信息:"+httpGet);
          //使用httpClient发起响应获取repsonse
              response=httpClient.execute(httpGet);
              //4.解析响应,获取数据   判断状态码是否是200
              if(response.getStatusLine().getStatusCode()==200){
    				in = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "utf-8"));
    				StringBuffer sb = new StringBuffer("");
    				String line = "";
    				String NL = System.getProperty("line.separator");
    				while ((line = in.readLine()) != null) {
    					sb.append(line + NL);
    				}
    
    				in.close();
    				return sb.toString();
              }
              System.out.println("请求状态码----"+response.getStatusLine().getStatusCode());
          } catch (Exception e) {
              e.printStackTrace();
          }
    		return null;
    		
    	}
    ``/**
    	 * post请求(用于key-value格式的参数)
    	 * 
    	 * @param url
    	 * @param params
    	 * @return
    	 */
    	public static String doPost(String url, Map params) {
    		BufferedReader in = null;
    		try {
    			// 定义HttpClient
    			HttpClient client =HttpClients.createDefault();
    			// 实例化HTTP方法
    			HttpPost request = new HttpPost();
    			request.setURI(new URI(url));
    //			if (StringUtils.isBlank(token)) {
    //				request.setHeader("Authorization", "Bearer " + token);
    //			}
    
    			// 设置参数
    			List<NameValuePair> nvps = new ArrayList<NameValuePair>();
    			for (Iterator iter = params.keySet().iterator(); iter.hasNext();) {
    				String name = (String) iter.next();
    				String value = String.valueOf(params.get(name));
    				nvps.add(new BasicNameValuePair(name, value));
    			}
    			request.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
    
    			HttpResponse response = client.execute(request);
    			int code = response.getStatusLine().getStatusCode();
    			if (code == 200) { // 请求成功
    				in = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "utf-8"));
    				StringBuffer sb = new StringBuffer("");
    				String line = "";
    				String NL = System.getProperty("line.separator");
    				while ((line = in.readLine()) != null) {
    					sb.append(line + NL);
    				}
    
    				in.close();
    
    				return sb.toString();
    			} else { //
    				System.out.println("状态码:" + code);
    				return null;
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    
    			return null;
    		}
    	}
    
    	/**
    	 * post请求(用于请求json格式的参数)
    	 * 
    	 * @param url
    	 * @param params
    	 * @return
    	 */
    	public static String doPost(String url, String params) throws Exception {
    		CloseableHttpClient httpclient = HttpClients.createDefault();
    		HttpPost httpPost = new HttpPost(url);// 创建httpPost
    		httpPost.setHeader("Accept", "text/plain");
    		httpPost.setHeader("Content-Type", "application/json-patch+json");
    		String charSet = "UTF-8";
    		StringEntity entity = new StringEntity(params, charSet);
    		httpPost.setEntity(entity);
    		CloseableHttpResponse response = null;
    		try {
    			response = httpclient.execute(httpPost);
    			StatusLine status = response.getStatusLine();
    			int state = status.getStatusCode();
    			if (state == HttpStatus.SC_OK) {
    				HttpEntity responseEntity = response.getEntity();
    				String jsonString = EntityUtils.toString(responseEntity);
    				return jsonString;
    			} else {
    			}
    		} finally {
    			if (response != null) {
    				try {
    					response.close();
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    			}
    			try {
    				httpclient.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    		return null;
    	}
    	
    
    展开全文
  • 展开全部Http请求32313133353236313431303231363533e58685e5aeb931333363393061类packagewzh.Http;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io....

    展开全部

    Http请求32313133353236313431303231363533e58685e5aeb931333363393061类

    package wzh.Http;

    import java.io.BufferedReader;

    import java.io.IOException;

    import java.io.InputStreamReader;

    import java.io.PrintWriter;

    import java.net.URL;

    import java.net.URLConnection;

    import java.util.List;

    import java.util.Map;

    public class HttpRequest {

    /**

    * 向指定URL发送GET方法的请求

    *

    * @param url

    *            发送请求的URL

    * @param param

    *            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。

    * @return URL 所代表远程资源的响应结果

    */

    public static String sendGet(String url, String param) {

    String result = "";

    BufferedReader in = null;

    try {

    String urlNameString = url + "?" + param;

    URL realUrl = new URL(urlNameString);

    // 打开和URL之间的连接

    URLConnection connection = realUrl.openConnection();

    // 设置通用的请求属性

    connection.setRequestProperty("accept", "*/*");

    connection.setRequestProperty("connection", "Keep-Alive");

    connection.setRequestProperty("user-agent",

    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

    // 建立实际的连接

    connection.connect();

    // 获取所有响应头字段

    Map> map = connection.getHeaderFields();

    // 遍历所有的响应头字段

    for (String key : map.keySet()) {

    System.out.println(key + "--->" + map.get(key));

    }

    // 定义 BufferedReader输入流来读取URL的响应

    in = new BufferedReader(new InputStreamReader(

    connection.getInputStream()));

    String line;

    while ((line = in.readLine()) != null) {

    result += line;

    }

    } catch (Exception e) {

    System.out.println("发送GET请求出现异常!" + e);

    e.printStackTrace();

    }

    // 使用finally块来关闭输入流

    finally {

    try {

    if (in != null) {

    in.close();

    }

    } catch (Exception e2) {

    e2.printStackTrace();

    }

    }

    return result;

    }

    /**

    * 向指定 URL 发送POST方法的请求

    *

    * @param url

    *            发送请求的 URL

    * @param param

    *            请求参数,请求参数应该是 name1=value1&name2=value2 的形式。

    * @return 所代表远程资源的响应结果

    */

    public static String sendPost(String url, String param) {

    PrintWriter out = null;

    BufferedReader in = null;

    String result = "";

    try {

    URL realUrl = new URL(url);

    // 打开和URL之间的连接

    URLConnection conn = realUrl.openConnection();

    // 设置通用的请求属性

    conn.setRequestProperty("accept", "*/*");

    conn.setRequestProperty("connection", "Keep-Alive");

    conn.setRequestProperty("user-agent",

    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");

    // 发送POST请求必须设置如下两行

    conn.setDoOutput(true);

    conn.setDoInput(true);

    // 获取URLConnection对象对应的输出流

    out = new PrintWriter(conn.getOutputStream());

    // 发送请求参数

    out.print(param);

    // flush输出流的缓冲

    out.flush();

    // 定义BufferedReader输入流来读取URL的响应

    in = new BufferedReader(

    new InputStreamReader(conn.getInputStream()));

    String line;

    while ((line = in.readLine()) != null) {

    result += line;

    }

    } catch (Exception e) {

    System.out.println("发送 POST 请求出现异常!"+e);

    e.printStackTrace();

    }

    //使用finally块来关闭输出流、输入流

    finally{

    try{

    if(out!=null){

    out.close();

    }

    if(in!=null){

    in.close();

    }

    }

    catch(IOException ex){

    ex.printStackTrace();

    }

    }

    return result;

    }

    }

    调用方法:

    public static void main(String[] args) {

    //发送 GET 请求

    String s=HttpRequest.sendGet("http://localhost:6144/Home/RequestString", "key=123&v=456");

    System.out.println(s);

    //发送 POST 请求

    String sr=HttpRequest.sendPost("http://localhost:6144/Home/RequestPostString", "key=123&v=456");

    System.out.println(sr);

    }

    展开全文
  • 言归正传,怎么通过java调用别人写的接口了?我们在网上看到大部分都是有点麻烦的,其实我们可以通过RestTemplate 进行开发,常用的http基本请求方式都有 Get,Post ,Put ,Delete,等等 我这里的是post请求,参数中...

       最近公司派我出差与乙方公司对接接口,开发了将近大半年的App,突然有冲突,所以整合一下,此处省略十万八千字......

       言归正传,怎么通过java调用别人写的接口了?我们在网上看到大部分都是有点麻烦的,其实我们可以通过  RestTemplate

    进行开发,常用的http基本请求方式都有  Get,Post ,Put ,Delete,等等

        我这里的是post请求,参数中含有 list 的,map传参

        首先我们创建一个配置类 

    package com.japhet.config;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.client.RestTemplate;
    
    @Configuration(value = "config2")
    public class Config {
        @Bean
        public RestTemplate restTemplate(){
            return new RestTemplate();
        }
    }
    
    
        @Resource
        private RestTemplate restTemplate;
    
    //  核心
        public  String doPost(String url,Map<String, Object> params) throws Exception {
            JSONObject jsonObject =  restTemplate.postForObject(url,params,JSONObject.class);               
            return jsonObject.toString();
        }
    
    //调用
        public static void main(String[] args) {
    
            if(true){//自己业务
                for(int i=0;i<10;i++){
                    stringList.add("参数"+i);
                }
            }else{
                stringList.add("参数1");
            }
            JSONArray jsonArray = JSONArray.fromArray(new ArrayList[]{stringList});
            String listJson = jsonArray.toString();
            map.put("xxx", "参数1");
            map.put("xxx", listJson);
            map.put("xxx",  "参数1");
            map.put("xxx", "参数1");
            map.put("xxx", "参数1");
    
            try{
                String result = doPost("接口路径",map);
            }catch (Exception e){
                e.printStackTrace();
            }
        }

    get 请求 后续更新.....

    展开全文
  • }/*** 将object转换成HashMap封装的对象 * 用于 HTTP GET请求填充参数时使用 * HTTP GET 请求uri类型 /api/xxxx/{x1}/{x2} , 或 /api/xxxx?x1={x1}&x2={x2}*/ private MapgetValueMap(Object object) { Class ...
  • JAVA发送http get/post请求调用http接口、方法

    万次阅读 多人点赞 2016-07-05 17:56:29
    三个例子 —JAVA发送http get/post请求调用http接口、方法例1:使用 HttpClient (commons-httpclient-3.0.jar jar下载地址:http://download.csdn.net/download/capmiachael/9760550)import java.io....
  • 请求参数srequestUrl 是你要发送的接口参数用map 存起来sRet 是返回值 如果发送的接口有的话就写然后调用 NetUtils.requset请求 (接口,参数,get/post(选择一种发送方式))String sRequestUrl =...
  • 这就需要http请求进行模块的调用。那么下面,我将以Java为例,详细说明如何发起http请求。 一、GET与POST GET和POST是HTTP的两个常用方法。 GET指从指定的服务器中获取数据 POST指提交数据给指定的服务器处理 1....
  • Http请求类 package wzh.Http; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net....
  • Python调用java接口发送post,get请求

    千次阅读 2019-11-21 10:10:52
    先看java的post接口: @RequestMapping(value="/createChart", method = RequestMethod.POST) @ResponseBody public String getChartData(@RequestBody Map<String,String> map) { String imgPa...
  • 主要介绍了Java发送http get/post请求调用接口/方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 最近因为系统需要,需要采用 http 调用对方的服务器接口GET,POST 都有,记录一下GET 请求:/*** 功能描述: get 请求* @param: [url]* @return: JSONObject* @auther: lsr* @date: 2018/11/14 16:59*/public ...
  • @RequestMapping("/get") ... String url = "url调用接口地址"; Map<String, Object> map = new HashMap<String, Object>(); map.put("name", "测试");//参数1 map.put("age", "10");//参数2 Ht
  • java调用接口范例

    2020-07-24 10:33:45
    //编写http接口get请求类 httpgetrequest //调用图灵机器人API接口 获取结果 //url 请求地址和参数 返回url结果 //执行http get请求 //根据返回码判断请求是否成功 //调用接口 并返回所需内容 获取结果 //...
  • 本文参考:https://blog.csdn.net/fightingXia/article/details/71775516https://www.cnblogs.com/jeffen/p/6937788.html随着网络上java应用越来越多,场景越来越复杂,...第一种GET,第二种POSTGET:get请求可以获...
  • java使用get请求调用第三方接口

    千次阅读 2019-05-31 14:26:50
    HttpGet httpGet = new HttpGet(url); httpGet.setHeader("User-Agent", userAgent); res = httpclient.execute(httpGet); HttpEntity entity = res.getEntity(); if (entity != null) { result = ...
  • importjava.io.ByteArrayOutputStream;importjava.io.InputStream;importjava.net.HttpURLConnection;importjava.net.URL;importjava.net.URLEncoder;importandroid.os.Bundle;importandroid...
  • 转自:点击打开链接例1:使用 HttpClient (commons-httpclient-3.0.jar 1 import java.io.ByteArrayInputStream; 2 import java.io.ByteArrayOutputStream; 3 import java.io.IOException; 4 import java.io....
  • Java调用接口

    2019-05-13 14:04:48
    第一种方式: 首先URL restURL = new URL(url);这其中的url就是需要调的目标接口...请求方式是有两个值进行选择,一个是GET,一个是POST,选择对应的请求方式 setDoOutput(true);setDoInput(true); setDoInput() ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 575
精华内容 230
关键字:

java调用接口get请求

java 订阅