精华内容
下载资源
问答
  • 1.使用OkHttpClient调用第三方接口 package com.***.util; import okhttp3.*; import java.io.IOException; /** * http请求 * @author zhouyaoming */ public class HttpClients { private static final ...

    1.使用OkHttpClient调用第三方接口

    (1)导入包

    		<dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
                <version>3.14.1</version>
            </dependency>
    

    (2)实现代码入校

    package com.***.util;
    
    import okhttp3.*;
    
    import java.io.IOException;
    
    /**
     * http请求
     * @author zhouyaoming
     */
    public class HttpClients {
        private static final OkHttpClient client = new OkHttpClient();
        private static final MediaType parse = MediaType.parse("application/json;charset=utf-8");
    
        /**
         * Get方法调用服务
         * @param url
         * @return
         * @throws IOException
         */
        public static String httpGet(String url) throws IOException {
            Request request = new Request.Builder()
                    .url(url)
                    .build();
            Response response = client.newCall(request).execute();
            return response.body().string();// 返回的是string 类型
        }
    
        /**
         * Post方法调用服务(json)
         * @param url
         * @param content
         * @return
         * @throws IOException
         */
        public static String httpPost4Json(String url, String content) throws IOException {
            RequestBody requestBody = RequestBody.create(parse, content);
            Request request = new Request.Builder()
                    .url(url)
                    .post(requestBody)
                    .build();
            Response response = client.newCall(request).execute();
            return response.body().string();
        }
    
        /**
         * Post方法调用服务(form)
         * @param url
         * @param formBody
         * @return
         * @throws Exception
         */
        public static String httpPost4form(String url, FormBody formBody) throws Exception {
            Request request = new Request.Builder()
                    .url(url)
                    .post(formBody)
                    .build();
            Response response = client.newCall(request).execute();
            return response.body().string();
        }
    }
    
    

    (3)发送请求
    a.发送post请求,参数为json的格式

    String result = HttpClients.httpPost4Json(url, JSONObject.fromObject(tpicRespSignDTO).toString());
    

    b.发送post请求,参数是form的格式

    FormBody body = new FormBody.Builder().add("appId", appId)
                        .add("sign", respSign)
                        .add("data", data).build();
    String respStr = HttpClients.httpPost4form(url, body);
    

    2.使用httpClient发送请求

    package com.***.utils;
    
    import lombok.extern.slf4j.Slf4j;
    import org.apache.http.HttpResponse;
    import org.apache.http.HttpStatus;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    
    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.nio.charset.Charset;
    import java.util.List;
    import java.util.Map;
    
    /**
     * 使用HttpClient发送请求
     * @author zhouyaoming
     */
    @Slf4j
    public class HttpClient {
    
        /**
         * 普通的GET请求
         *
         * @param url
         * @param param
         * @return
         */
        public static String doGet(String url, String param) {
            long startTime = System.currentTimeMillis();
            // 创建Httpclient对象
            CloseableHttpClient httpclient = HttpClients.createDefault();
            // 创建http GET请求
            HttpGet httpGet = null;
            if (null == param) {
                httpGet = new HttpGet(url);
    
            } else {
                httpGet = new HttpGet(url + "?" + param);
    
            }
            CloseableHttpResponse response = null;
            try {
                // 执行请求
                response = httpclient.execute(httpGet);
                // 判断返回状态是否为200
                if (response.getStatusLine().getStatusCode() == 200) {
                    //请求体内容
                    String content = EntityUtils.toString(response.getEntity(), "UTF-8");
    //                System.out.println("请求时间:"+(System.currentTimeMillis()-startTime));
    
                    return content;
                }
    //            System.out.println("请求时间:"+(System.currentTimeMillis()-startTime));
    
    
            } catch (Exception e) {
                System.out.println(e.getLocalizedMessage());
            } finally {
                if (response != null) {
                    try {
                        response.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                //相当于关闭浏览器
                try {
                    httpclient.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return "";
        }
    
    
        /**
         * 向指定 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;
        }
    
    
        /**
         * 发送post请求 json
         *
         * @param url
         * @param param
         * @return
         */
        public static String sendPostJson(String url, String param) {
            //创建client和post对象
            HttpPost post = new HttpPost(url);
            CloseableHttpClient httpclient = HttpClients.createDefault();
            //json形式
            post.addHeader("content-type", "application/json;charset=utf-8");
            post.addHeader("accept", "application/json");
            //json字符串以实体的实行放到post中
            post.setEntity(new StringEntity(param, Charset.forName("utf-8")));
            HttpResponse response = null;
            try {
                //获得response对象
                response = httpclient.execute(post);
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            if (HttpStatus.SC_OK != response.getStatusLine().getStatusCode()) {
                System.out.println("请求返回不正确");
            }
    
            String result = "";
            try {
                //获得字符串形式的结果
                result = EntityUtils.toString(response.getEntity());
            } catch (Exception e) {
                e.printStackTrace();
            }
            System.out.println(result);
            return result;
        }
    
    }
    
    
    展开全文
  • 最近被分配干大华摄像头,需要调用第三方接口java如何调用对方http接口(header和body中的参数传参) 之前调用的钉钉第三方接口都是普通传参,很简单。这次是往请求头和请求体里面传参,做一下记录。 //从配置...

    最近被分配干大华摄像头,需要调用第三方接口。java如何调用对方http接口(header和body中的参数传参)

    之前调用的钉钉第三方接口都是普通传参,很简单。这次是往请求头和请求体里面传参,做一下记录。

    //从配置文件中读取路径  可以写死     "http://。。。。。。。"
            String serverURL = "https://www.cloud-dahua/liveList";
            StringBuffer sbf = new StringBuffer();
            String strRead = null;
            URL url = new URL(serverURL);
            HttpURLConnection connection = (HttpURLConnection)url.openConnection();
            connection.setRequestMethod("POST");//请求post方式
            connection.setDoInput(true);
            connection.setDoOutput(true);
            //header内的的参数在这里set。||connection.setRequestProperty("健, "值");
            connection.setRequestProperty("Content-Type", "application/json");
            connection.setRequestProperty("Authorization", "Bearer 59e0-9fcc-c3faea0e2a6c");
            connection.connect();
            OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream(),"UTF-8");
            //body参数在这里put到JSONObject中
            JSONObject parm = new JSONObject();
            parm.put("pageNum", 1);
            parm.put("pageSize", 2);
            parm.put("storeId", 001);
            writer.write(parm.toString());
            writer.flush();
            InputStream is = connection.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
            while ((strRead = reader.readLine()) != null) {
                sbf.append(strRead);
                //sbf.append("\r\n");
            }
            reader.close();
            connection.disconnect();
            String results = sbf.toString();

    年纪轻轻,不卑不亢,干就完了!

    展开全文
  • Java调用第三方接口示范

    万次阅读 多人点赞 2018-10-08 15:03:53
    在项目开发中经常会遇到调用第三方接口的情况,比如说调用第三方的天气预报接口。 使用流程 【1】准备工作:在项目的工具包下导入HttpClientUtil这个工具类,或者也可以使用Spring框架的restTemplate来调用,上面...

    人工智能,零基础入门!http://www.captainbed.net/inner

    在项目开发中经常会遇到调用第三方接口的情况,比如说调用第三方的天气预报接口。

    使用流程

    【1】准备工作:在项目的工具包下导入HttpClientUtil这个工具类,或者也可以使用Spring框架的restTemplate来调用,上面有调用接口的方法【分为Get和Post方式的有参和无参调用】:

    package com.njsc.credit.util;
    
    import java.io.IOException;
    import java.net.URI;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    
    import org.apache.http.NameValuePair;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.client.utils.URIBuilder;
    import org.apache.http.entity.ContentType;
    import org.apache.http.entity.StringEntity;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.message.BasicNameValuePair;
    import org.apache.http.util.EntityUtils;
    
    public class HttpClientUtil {
    
    	/**
    	 * 带参数的get请求
    	 * @param url
    	 * @param param
    	 * @return String
    	 */
    	public static String doGet(String url, Map<String, String> param) {
    		// 创建Httpclient对象
    		CloseableHttpClient httpclient = HttpClients.createDefault();
    
    		String resultString = "";
    		CloseableHttpResponse response = null;
    		try {
    			// 创建uri
    			URIBuilder builder = new URIBuilder(url);
    			if (param != null) {
    				for (String key : param.keySet()) {
    					builder.addParameter(key, param.get(key));
    				}
    			}
    			URI uri = builder.build();
    			// 创建http GET请求
    			HttpGet httpGet = new HttpGet(uri);
    			// 执行请求
    			response = httpclient.execute(httpGet);
    			// 判断返回状态是否为200
    			if (response.getStatusLine().getStatusCode() == 200) {
    				resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				if (response != null) {
    					response.close();
    				}
    				httpclient.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    		return resultString;
    	}
    	
    	/**
    	 * 不带参数的get请求
    	 * @param url
    	 * @return String
    	 */
    	public static String doGet(String url) {
    		return doGet(url, null);
    	}
    
    	/**
    	 * 带参数的post请求
    	 * @param url
    	 * @param param
    	 * @return String
    	 */
    	public static String doPost(String url, Map<String, String> param) {
    		// 创建Httpclient对象
    		CloseableHttpClient httpClient = HttpClients.createDefault();
    		CloseableHttpResponse response = null;
    		String resultString = "";
    		try {
    			// 创建Http Post请求
    			HttpPost httpPost = new HttpPost(url);
    			// 创建参数列表
    			if (param != null) {
    				List<NameValuePair> paramList = new ArrayList<>();
    				for (String key : param.keySet()) {
    					paramList.add(new BasicNameValuePair(key, param.get(key)));
    				}
    				// 模拟表单
    				UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList);
    				httpPost.setEntity(entity);
    			}
    			// 执行http请求
    			response = httpClient.execute(httpPost);
    			resultString = EntityUtils.toString(response.getEntity(), "utf-8");
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				response.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    		return resultString;
    	}
    
    	/**
    	 * 不带参数的post请求
    	 * @param url
    	 * @return String
    	 */
    	public static String doPost(String url) {
    		return doPost(url, null);
    	}
    	
    	/**
    	 * 传送json类型的post请求
    	 * @param url
    	 * @param json
    	 * @return String
    	 */
    	public static String doPostJson(String url, String json) {
    		// 创建Httpclient对象
    		CloseableHttpClient httpClient = HttpClients.createDefault();
    		CloseableHttpResponse response = null;
    		String resultString = "";
    		try {
    			// 创建Http Post请求
    			HttpPost httpPost = new HttpPost(url);
    			// 创建请求内容
    			StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON);
    			httpPost.setEntity(entity);
    			// 执行http请求
    			response = httpClient.execute(httpPost);
    			resultString = EntityUtils.toString(response.getEntity(), "utf-8");
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				response.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    		return resultString;
    	}
    }
    

    【2】创建url和访问key 以及参数等:

    代码如下:

    /**
     * 聚合接口校验身份证
     * @param idCard
     * @param realName
     * @return boolean
     */
    public boolean identityCheck(String idCard, String realName){
    	logger.info("-----------------调用聚合数据 身份证验证API BEGIN--------------->");
    	String key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    	String url = "http://op.juhe.cn/idcard/query" + "?key=" + key + "&idcard=" + idCard + "&realname=" + realName;
    	logger.info("请求url:" + url);
    	boolean match = false; //是否匹配
    	try {
    		String result = HttpClientUtil.doGet(url);
    		System.out.println("请求结果:" + result);
    		IdentityCheckResult identityCheckResult = JsonUtils.parse(result, IdentityCheckResult.class);
    		IdentityCheck identityCheck = JsonUtils.parse(result, "result", IdentityCheck.class);
    		logger.info(identityCheckResult);
    		logger.info(identityCheck.toString());
    		if(identityCheckResult.correct() && identityCheck.getRes() == 1){
    			match = true;
    		}
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
    	logger.info("<-----------------调用聚合数据 身份证验证API END---------------");
    	return match;
    }

    【3】请求这个第三方接口:

    使用HttpClientUtil工具类中的doGet方法来请求URL,得到结果,现在大多数是一个json字符串,类型为String

    【4】根据接口返回数据格式来解析数据:

    可以看到,返回参数有六个,所以在项目中新建一个bean,包含以上六个字段,用来接住返回数据,如下:

    因为接口返回的数据是一个json的字符串,类型实际上是一个String字符串,要解析数据,用工具类JsonUtils的parse方法将字符串转换为Java对象,JsonUtils的代码如下:

    package com.eqianxian.commons.utils.json;
    
    import java.util.List;
    import java.util.Map;
    
    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import com.alibaba.fastjson.serializer.PropertyFilter;
    import com.alibaba.fastjson.serializer.SerializerFeature;
    
    /**
     * 在系统中统一使用这个,以方便将来切换不同的JSON生成工具
     * 
     * @author KelvinZ
     * 
     */
    public class JsonUtils {
    	public static final int TYPE_FASTJSON = 0;
    	public static final int TYPE_GSON = 1;
    
    	/**
    	 * <pre>
    	 * 对象转化为json字符串
    	 * 
    	 * @param obj 待转化对象
    	 * @return 代表该对象的Json字符串
    	 */
    	public static final String toJson(final Object obj) {
    		return JSON.toJSONString(obj);
    		// return gson.toJson(obj);
    	}
    
    	/**
    	 * <pre>
    	 * 对象转化为json字符串
    	 * 
    	 * @param obj 待转化对象
    	 * @return 代表该对象的Json字符串
    	 */
    	public static final String toJson(final Object obj, SerializerFeature... features) {
    		return JSON.toJSONString(obj, features);
    		// return gson.toJson(obj);
    	}
    
    	/**
    	 * 对象转化为json字符串并格式化
    	 * 
    	 * @param obj
    	 * @param format 是否要格式化
    	 * @return
    	 */
    	public static final String toJson(final Object obj, final boolean format) {
    		return JSON.toJSONString(obj, format);
    	}
    
    	/**
    	 * 对象对指定字段进行过滤处理,生成json字符串
    	 * 
    	 * @param obj
    	 * @param fields 过滤处理字段
    	 * @param ignore true做忽略处理,false做包含处理
    	 * @param features json特征,为null忽略
    	 * @return
    	 */
    	public static final String toJson(final Object obj, final String[] fields, final boolean ignore,
    			SerializerFeature... features) {
    		if (fields == null || fields.length < 1) {
    			return toJson(obj);
    		}
    		if (features == null)
    			features = new SerializerFeature[] { SerializerFeature.QuoteFieldNames };
    		return JSON.toJSONString(obj, new PropertyFilter() {
    			@Override
    			public boolean apply(Object object, String name, Object value) {
    				for (int i = 0; i < fields.length; i++) {
    					if (name.equals(fields[i])) {
    						return !ignore;
    					}
    				}
    				return ignore;
    			}
    		}, features);
    	}
    
    	/**
    	 * <pre>
    	 * 解析json字符串中某路径的值
    	 * 
    	 * @param json
    	 * @param path
    	 * @return
    	 */
    	@SuppressWarnings("unchecked")
    	public static final <E> E parse(final String json, final String path) {
    		String[] keys = path.split(",");
    		JSONObject obj = JSON.parseObject(json);
    		for (int i = 0; i < keys.length - 1; i++) {
    			obj = obj.getJSONObject(keys[i]);
    		}
    		return (E) obj.get(keys[keys.length - 1]);
    	}
    
    	/**
    	 * <pre>
    	 * json字符串解析为对象
    	 * 
    	 * @param json 代表一个对象的Json字符串
    	 * @param clazz 指定目标对象的类型,即返回对象的类型
    	 * @return 从json字符串解析出来的对象
    	 */
    	public static final <T> T parse(final String json, final Class<T> clazz) {
    		return JSON.parseObject(json, clazz);
    	}
    
    	/**
    	 * <pre>
    	 * json字符串解析为对象
    	 * 
    	 * @param json json字符串
    	 * @param path 逗号分隔的json层次结构
    	 * @param clazz 目标类
    	 */
    	public static final <T> T parse(final String json, final String path, final Class<T> clazz) {
    		String[] keys = path.split(",");
    		JSONObject obj = JSON.parseObject(json);
    		for (int i = 0; i < keys.length - 1; i++) {
    			obj = obj.getJSONObject(keys[i]);
    		}
    		String inner = obj.getString(keys[keys.length - 1]);
    		return parse(inner, clazz);
    	}
    
    	/**
    	 * 将制定的对象经过字段过滤处理后,解析成为json集合
    	 * 
    	 * @param obj
    	 * @param fields
    	 * @param ignore
    	 * @param clazz
    	 * @param features
    	 * @return
    	 */
    	public static final <T> List<T> parseArray(final Object obj, final String[] fields, boolean ignore,
    			final Class<T> clazz, final SerializerFeature... features) {
    		String json = toJson(obj, fields, ignore, features);
    		return parseArray(json, clazz);
    	}
    
    	/**
    	 * <pre>
    	 * 从json字符串中解析出一个对象的集合,被解析字符串要求是合法的集合类型
    	 * (形如:["k1":"v1","k2":"v2",..."kn":"vn"])
    	 * 
    	 * @param json - [key-value-pair...]
    	 * @param clazz
    	 * @return
    	 */
    	public static final <T> List<T> parseArray(final String json, final Class<T> clazz) {
    		return JSON.parseArray(json, clazz);
    	}
    
    	/**
    	 * <pre>
    	 * 从json字符串中按照路径寻找,并解析出一个对象的集合,例如:
    	 * 类Person有一个属性name,要从以下json中解析出其集合:
    	 * {
    	 * 	"page_info":{
    	 * 		"items":{
    	 * 			"item":[{"name":"KelvinZ"},{"name":"Jobs"},...{"name":"Gates"}]
    	 * 	}
    	 * }
    	 * 使用方法:parseArray(json, "page_info,items,item", Person.class),
    	 * 将根据指定路径,正确的解析出所需集合,排除外层干扰
    	 * 
    	 * @param json json字符串
    	 * @param path 逗号分隔的json层次结构
    	 * @param clazz 目标类
    	 * @return
    	 */
    	public static final <T> List<T> parseArray(final String json, final String path, final Class<T> clazz) {
    		String[] keys = path.split(",");
    		JSONObject obj = JSON.parseObject(json);
    		for (int i = 0; i < keys.length - 1; i++) {
    			obj = obj.getJSONObject(keys[i]);
    		}
    		String inner = obj.getString(keys[keys.length - 1]);
    		List<T> ret = parseArray(inner, clazz);
    		return ret;
    	}
    
    	/**
    	 * <pre>
    	 * 有些json的常见格式错误这里可以处理,以便给后续的方法处理
    	 * 常见错误:使用了\" 或者 "{ 或者 }",腾讯的页面中常见这种格式
    	 * 
    	 * @param invalidJson 包含非法格式的json字符串
    	 * @return
    	 */
    	public static final String correctJson(final String invalidJson) {
    		String content = invalidJson.replace("\\\"", "\"").replace("\"{", "{").replace("}\"", "}");
    		return content;
    	}
    
    	/**
    	 * 格式化Json
    	 * 
    	 * @param json
    	 * @return
    	 */
    	public static final String formatJson(String json) {
    		Map<?, ?> map = (Map<?, ?>) JSON.parse(json);
    		return JSON.toJSONString(map, true);
    	}
    
    	/**
    	 * 获取json串中的子json
    	 * 
    	 * @param json
    	 * @param path
    	 * @return
    	 */
    	public static final String getSubJson(String json, String path) {
    		String[] keys = path.split(",");
    		JSONObject obj = JSON.parseObject(json);
    		for (int i = 0; i < keys.length - 1; i++) {
    			obj = obj.getJSONObject(keys[i]);
    			System.out.println(obj.toJSONString());
    		}
    		return obj != null ? obj.getString(keys[keys.length - 1]) : null;
    	}
    
    }
    

     

    展开全文
  • 这个乱码问题让我调了一晚上,之前请求第三方接口携带的参数确实没遇到过中文的 这次做周边疫情模块的时候需要传入省份城市地区三个中文参数java后端打印请求字符串一切都是正常的但是提交总是返回250 通过接口...

    这个乱码问题让我调了一晚上,之前请求第三方接口携带的参数确实没遇到过中文的

    这次做周边疫情模块的时候需要传入省份城市地区三个中文参数java后端打印请求字符串一切都是正常的但是提交总是返回250

    通过接口平台后台查看发现提交的字符串中文竟然是乱码然后开始各种修改编码

    刚开始尝试修改提交url的编码 无效果

    然后修改项目的编码也无效果

    但是我发现一个问题如果通过main方法运行请求就没有问题,但是只要启动web项目测试就有问题所以应该是Tomcat编码的问题(前端传过来打印都是正常的)

    于时我就用的maven Tomcat插件直接设置编码为utf-8问题完美解决

    当然你也可以修改本地tomcat下的conf/server.xml文件

    展开全文
  •   最近在写使用java后端去请求第三方接口的代码,给大家分享关于HttpEntity类的处理方式,而处理请求是需要根据第三方的要求来处理的,所以这里着重展示HttpEntity的处理。   在开始代码前,需要知晓几个前提: ...
  • import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java...
  • java如何调用第三方接口

    千次阅读 多人点赞 2021-01-13 16:21:43
    最近在做一个项目,因一些机制问题,需要我用java代码调用第三方接口。因其接口使用的是@RequestBody注入访问对象的,@RequestBody接受收的是一个json格式的字符串,一定是一个字符串。类似于: { “pageNumber”:1...
  • 调用第三方接口方法 private static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try{ String urlNameString = url + "?" + param; URL realUrl = new URL...
  • Java调用第三方接口(http总结)

    千次阅读 2019-09-01 12:32:57
    业务需求: 一般情况下都是 后端提供接口,前端调用,解决需求,但是有的时候为了方便,复用别人的接口(网上的,公共的第三方接口(短信、天气等))...在Java项目中调用第三方接口方式有: ①通过JDK网络类Java....
  • 前言 大家好,我是南城、有潇湘,一个有点文学气息的Java小白...②如何在第三方接口有权限认证的情况下动态处理? # 问题分析: ①首先我们确定一下我们需要什么以及我们有什么和没有什么,我们需要的是接口返回的数据,
  • java springboot调用第三方接口获取的token用于接下来的请求, 可以不存数据库吗
  • 问我一朋友然后在项目中又加一些修改 这的是我朋友给我的原版 ...//设置请求头,可根据接口文档要求设置 HttpHeaders header = new HttpHeaders(); header.set(“Accept-Charset”, “UTF-8”); header.s...
  • package ... import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; ...
  • java后台调用第三方接口的完整样例

    千次阅读 2019-06-04 14:48:22
    本文以睡客api-博博科技为例,详细介绍java后台调用第三方接口.如有疑问或想法,欢迎评论留言. . 具体操作见资料包,提取码(h99e)! 具体操作见资料包,提取码(h99e)! 具体操作见资料包,提取码(h99e)! ...
  • 前提要该外部接口封装好json返回值,然后main方法测试调用接口即可 package com.utils; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; ...
  • 这里写自定义目录标题java实现调用第三方接口post请求上传文件请求参数为MultipartFile携带token的解决方案 java实现调用第三方接口post请求上传文件请求参数为MultipartFile携带token的解决方案 控制器层: /** * ...
  • java 通过HttpClient调用第三方接口 post请求 passStr:请求第三方接口所对应的参数值 Properties.getRequestUrl() :参考我的另一篇博客:https://blog.csdn.net/u010596545/article/details/80355389 public ...
  • 文章目录1、概述2、java调用第三方http接口方式2.1 通过jdk网络类java.net.HttpURLConnection2.2 通过apache common封装好的HttpClient2.3 通过Apache封装好的CloseableHttpClient2.4 通过SpringBoot-RestTemplate...
  • 项目原来使用的短信验证码接口没有做安全校验,去网上查找了很多的解决方案,无非是在接口调用时添加图形验证码、单ip请求限制、限定每天每个号码获取短信验证码的次数、限制短信验证码的调用频率等。逛了一大圈,...
  • Java调用第三方http或https接口方式

    千次阅读 2020-08-17 18:37:25
    Java项目中调用第三方接口方式有: ①通过JDK网络类Java.net.HttpURLConnection; ②通过Apache common封装好的HttpClient; ③通过Apache封装好的CloseableHttpClient; ④通过SpringBoot-RestTempl
  • 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; im.....
  • 楼主是个后端小白一枚,之前没接触过后端,只学了java基本语法,还是在学校老师教的,学的很浅,什么ssh、ssm框架都没有学,最近在自学spring boot,看书学也看不是很懂,就在b站上看教学视频,大概看了几个老师讲的...
  • Java发送http请求调用第三方接口获取token

    千次阅读 热门讨论 2020-07-16 11:58:42
    http请求调用第三方接口获取token前言话不多说直接上代码测试 前言 最近在做项目对接,因为要频繁调用第三方的接口,所以就整理了一下代码,如有不足之处请指出! 话不多说直接上代码 public static String ...
  • Java调用第三方接口示范 范例: 响应形式: 主逻辑: 访问此地址:http:// {cas }/cas/login?service=http://localhost/Demo 认证通过后:http://localhost/Demo?ticket=ST-9-C6sjiJ4xqn0ydAsWSXBt-{cas} ...
  • 以前写过一篇设置微信二维码失效时间的博客,最近又要新增微信退款的功能,于是又重新整理了一下前面的微信二维码扫码支付功能,感觉整体的实现方式都能够掌控了,于是将具体的源码拿出来分享一下。 开发之前,一定...
  • java后台通过HttpClient调用第三方接口

    千次阅读 2018-02-05 12:20:40
    java后台通过HttpClient调用第三方接口。 CommonFunForHttp类: public class CommonFunForHttp {  public static String getHTTP(String url){ StringBuilder builder = new StringBuilder(); ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,328
精华内容 13,331
关键字:

java后端调用第三方接口方式

java 订阅