精华内容
下载资源
问答
  • java请求http接口

    2020-03-23 14:25:21
    接口返回值使用json <!-- 阿里JSON解析器 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> &...

    接口返回值使用json

    <!-- 阿里JSON解析器 -->
    <dependency>
    	<groupId>com.alibaba</groupId>
    	<artifactId>fastjson</artifactId>
    	<version>1.2.47</version>
    </dependency>
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONArray;
    import com.alibaba.fastjson.JSONObject;
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.HashMap;
    import java.util.Map;
    
    public class HttpInterface {
    
        /**
         * 该接口也可以调用PUT请求方式的接口,只需要在请求方式里将POST改为PUT即可
         * http调用post接口
         * @param param 参数(Json字符串)
         * @param api 接口名称
         * @return
         */
        public static JSONObject postInterface(String param, String api){
            try {
                URL url = new URL("http://www.****.com/" + api);
                //打开和url之间的连接
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                PrintWriter out = null;
                //请求方式 这里设置你需要请求的方式
               conn.setRequestMethod("POST");
               //有些参数可以放在Head里,比如Token什么的
               //conn.setRequestProperty("Token","");
               //设置通用的请求属性
                conn.setRequestProperty("accept", "*/*");
                conn.setRequestProperty("connection", "Keep-Alive");
                //  这里设置请求头
                conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");
                //设置是否向httpUrlConnection输出,设置是否从httpUrlConnection读入,此外发送post请求必须设置这两个
                //最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,
                //post与get的 不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。
                conn.setDoOutput(true);
                conn.setDoInput(true);
    //            conn.connect();
                //获取URLConnection对象对应的输出流
                out = new PrintWriter(conn.getOutputStream());
                //发送请求参数即数据
                out.print(param);
                //缓冲数据
                out.flush();
                //获取URLConnection对象对应的输入流
                InputStream is = conn.getInputStream();
                //构造一个字符流缓存
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                String str = "";
                com.alibaba.fastjson.JSONObject jsonss = null;
                while ((str = br.readLine()) != null) {
                    jsonss =com.alibaba.fastjson.JSONObject.parseObject(str);
                }
                System.out.println("获取到的报文数据为:"+jsonss);
                //关闭流
                is.close();
                //断开连接,最好写上,disconnect是在底层tcp socket链接空闲时才切断。如果正在被
                //其他线程使用就不切断。
                //固定多线程的话,如果不disconnect,链接会增多,直到收发不出信息。写上
                //disconnect后正常一些。
                conn.disconnect();
                System.out.println("结束");
                return jsonss;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }
    
        /**
         * 该接口也可以调用DELETE请求方式的接口,只需要在请求方式里将GET改为DELETE即可
         * http调用get接口
         * @param param
         * @param api
         * @return
         */
        public static JSONObject getInterface(String param,String api){
            try {
            	//这里的param是map转为字符串传过来的(map.toString())
                //将参数的{}去掉,将,改为&,使参数格式变成 key=value
                String parameter= param.substring(1 , param.length() - 1).replaceAll(",","&").replaceAll(" ","");
                String urls = "http://www.*****.com/" + api + "?" + parameter;
                System.out.println("urls = " + urls);
                URL url = new URL(urls);
                //打开和url之间的连接
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                PrintWriter out = null;
                //请求方式
                conn.setRequestMethod("GET");
                //有些参数可以放在Head里,比如Token什么的
                //conn.setRequestProperty("Token","");
                //设置通用的请求属性
                conn.setRequestProperty("accept", "*/*");
                conn.setRequestProperty("connection", "Keep-Alive");
                conn.setRequestProperty("Content-Type", "application/json;charset=utf-8");
                //设置是否向httpUrlConnection输出,设置是否从httpUrlConnection读入,此外发送post请求必须设置这两个
                //最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,
                //post与get的 不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。get请求不需要设置
    //            conn.setDoOutput(true);
    //            conn.setDoInput(true);
                //获取URLConnection对象对应的输出流
                conn.connect();
    
                //获取URLConnection对象对应的输入流
                InputStream is = conn.getInputStream();
                //构造一个字符流缓存
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                String str = "";
                com.alibaba.fastjson.JSONObject jsonss = null;
                while ((str = br.readLine()) != null) {
                    jsonss =com.alibaba.fastjson.JSONObject.parseObject(str);
                }
                System.out.println("获取到的报文数据为:"+jsonss);
                //关闭流
                is.close();
                //断开连接,最好写上,disconnect是在底层tcp socket链接空闲时才切断。如果正在被其他线程使用就不切断。
                //固定多线程的话,如果不disconnect,链接会增多,直到收发不出信息。写上disconnect后正常一些。
                conn.disconnect();
                System.out.println("结束");
                return jsonss;
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
    
        }
    	
    }
    

    测试接口

        public static void main(String[] args){
            Map<String,String> map = new HashMap<>();
            map.put("loginName","***");
            map.put("password","***");
            String param= JSON.toJSONString(map);
            postInterface(param,"api");
    
            Map<String,String> map2 = new HashMap<>();
            map2.put("参数","97810");
            map2.put("参数","4081");
            System.out.println(map2.toString());
            String str = map2.toString();
            getInterface(str,"api");
        }
    
    展开全文
  • JAVA 请求http接口返回json数据解析

    千次阅读 2017-09-07 15:22:22
    /**  * @param args  */  public static void main(String[] args) throws Exception{  URL yahoo = new URL("http://www.baidu.com/query.jsp?param1=value2¶m2=value2");  URLC
    /**
         * @param args
         */
        public static void main(String[] args) throws Exception{
            URL yahoo = new URL("http://www.baidu.com/query.jsp?param1=value2&param2=value2");

            URLConnection context = yahoo.openConnection();

            context.setRequestProperty("accept", "*/*");
            context.setRequestProperty("connection", "Keep-Alive");
            context.setRequestProperty("user-agent",sss
                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
            // 发送POST请求必须设置如下两行
            context.setDoOutput(true);
            context.setDoInput(true);
            // 获取URLConnection对象对应的输出流
            out = new PrintWriter(context.getOutputStream());
            // 发送请求参数
           // out.print(param);
            // flush输出流的缓冲
            out.flush();

            InputStream br = context.getInputStream();  
            BufferedReader in = new BufferedReader(new InputStreamReader(br, "utf-8"));
            String inputLine;  
            String json ="";
            while ((inputLine = in.readLine()) != null)  
                json+=inputLine;//  System.out.println(inputLine);  
            in.close();

        

    System.out.println(json);


      JSONObject jsStr = JSONObject.fromObject(json);

           JSONArray jsar = JSONArray.fromObject(jsStr.getString("kaoHY"));
           List<Map> list = (List<Map>) jsar.toCollection(jsar, Map.class);
           for(Map employee : list){
               System.out.println(employee.get("ZJBM"));
           }
        }
      
    展开全文
  • 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接口

    千次阅读 2019-06-02 19:33:29
    Java请求http接口 方法1 此方法需要httpclient-4.4.jar,httpcore-4.4.jar,并在头部引入包 import org.apache.http.HttpResponse; import org.apache.http.StatusLine; import org.apache.http.client.HttpClient; ...

    Java请求http接口

    方法1
    此方法需要httpclient-4.4.jar,httpcore-4.4.jar,并在头部引入包

    import org.apache.http.HttpResponse;
    import org.apache.http.StatusLine;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.HttpClients;

    程序实现:

    	String resulturl = "http://localhost:9080/projectName/servletName";  //请求的http接口
    	HttpPost httppost = new HttpPost(resulturl);
    	
    	String param="taskid="+taskid;	//请求的发送的参数,如果请求没有参数可以不写。也可以直接在请求字符串中以'?'拼接参数
    	System.out.println(resulturl+"?"+param);		
    	StringEntity s=new StringEntity(param);
    	s.setContentType("application/x-www-form-urlencoded");
    	httppost.setEntity(s);
    	
    	HttpClient httpclient = HttpClients.custom().build(); //定义一个http客户端请求
    	HttpResponse result= httpclient.execute(httppost);  //执行http请求
    	StatusLine statusline = result.getStatusLine(); //获取请求的返回内容
        System.out.println(statusline);
    

    方法2
    使用Java的URL类中的方法

    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.URL;

    	try {
    		URL url = new URL("http://83.10.61.5:8080/AndroidAgent/adbdevices");
    		InputStream is = url.openStream();
    		BufferedReader br = new BufferedReader(new InputStreamReader(is));
    		String line = null;
    		while((line = br.readLine()) != null) {
    			System.out.println(line);;
    		}
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
    
    展开全文
  • Java如何发起http请求 前言 一、GET与POST 1.GET方法 2.POST方法 实现代码 实例演示 字符串转json 结束 前言 在未来做项目中,一些功能模块可能会采用不同的语言进行编写。这就需要http请求进行模块的调用。那么下面...
  • [Java教程]关于http请求调用接口0 2016-05-03 10:00:101.这是通过json传值进行调用(1)public static void appadd() {try {//创建连接URL url = new URL(ADD_URL);HttpURLConnection connection = (HttpURLConnection...
  • java工程实现http请求接口java工程实现http请求接口1.实现代码package com.home;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.sun.net.httpserver.HttpExchange;import ...
  • java调用http请求接口

    2020-03-23 16:03:02
    java调用http请求接口contentType 请求类型 contentType 请求类型 支持application/json 或 application/x-www-form-urlencoded /** * @Description :获取接口返回数据 * @author : laiah * @date : 2020/3/20 ....
  • packagecom.vcgeek.hephaestus....importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.PrintWriter;importjava.util.HashMap;importjava.util.List;importj...
  • // 设置通用的请求属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); // conn.setRequestProperty("user-agent", // "Mozilla/4.0 (compatible; MSIE 6.0; ...
  • 1 packageorg.sunshine.dcda.epg.wechat.controller....23 importjava.io.BufferedReader;4 importjava.io.IOException;5 importjava.io.InputStreamReader;6 importjava.text.MessageFormat;78 importjavax.annot...
  • 1 import java.io.BufferedReader;2 import java.io.InputStreamReader;3 import java.io.OutputStreamWriter;4 import java.io.PrintWriter;5 import java.net.URL;6 import java.net.URLConnection;7 import java....
  • Java模拟Http请求远程接口

    千次阅读 2019-01-16 20:31:47
    因此编写了下面两个方法,主要是用Java.net.URL模拟http请求,主要写了POST和GET两个方法。 1.GET请求 /* * @auther: Ragty * @describe: Get请求远程接口 * @param: [url, parameters] * @...
  • } 注意: 需要指定 http content-type 为 application/json 使用body传输数据(针对postman而言) 5. 获取http头信息 @GetMapping("/v1/get_header") public Object getHeader(@RequestHeader("access_token") String...
  • 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....
  • Java_http请求接口

    2017-04-06 18:15:28
    Java调用第三方厂商提供了http接口    在多人开发项目中,我们经常要在自己程序内部(不是在jsp中)调用别人的http请求接口,主要通过流的方式进行调用    例如:...
  • import java.io.BufferedInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import...
  • Java HTTP请求接口返回值乱码

    千次阅读 2020-07-29 10:20:33
    系统访问第三方系统接口时乱码,(我遇到的问题是 本地运行时,中文不乱码。当部署到Linux服务器上时第三方接口返回的数据就中文乱码) { "code": 400, "msg": "���������������", "error": ...
  • JAVA http请求接口数据

    2017-03-07 15:33:59
    二、调用解析方法 处理接口返回数据 /** * 地铁信息类 * @return */ public class StationInfo { private String stationName ; private String lng ; ...
  • java http请求接口返回值乱码

    千次阅读 2019-04-14 15:08:07
    返回值编码格式设置为utf-8 public static String load(JSONObject query,String type,String methodName) throws ... String url = "http://localhost:"+port+adminPath+"/management/interfaceController/"+m...
  • import java.text.SimpleDateFormat; import java.util.*; /** * Created by zhuqinghua on 2018/10/16. */ public class GDGZOrderProcessor { private static final String url=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,855
精华内容 1,942
关键字:

java请求http接口

java 订阅