网站开发需求文档模板带er图,购物网站开发 项目描述,怎么看公司是不是外包,wordpress onepagejava post、get请求第三方https接口 前段时间做项目新加功能由于要对接其它系统#xff0c;请求系统接口传输数据。写完后发现我写的这个方法和网上现有的例子有点不太一样#xff0c;可能是因为我做的项目是政务网的原因#xff0c;但我想正常的即便是互联网的系统请求方式…java post、get请求第三方https接口 前段时间做项目新加功能由于要对接其它系统请求系统接口传输数据。写完后发现我写的这个方法和网上现有的例子有点不太一样可能是因为我做的项目是政务网的原因但我想正常的即便是互联网的系统请求方式也都是一样的所以记录一下。如果有不符合的地方请各位看官指教。废话不多说直接上代码 注此代码仅为测试用例仅提供思路如果需要还需要自己完善哦。
package szsydata;import cn.hutool.json.JSONUtil;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
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.ssl.SSLContextBuilder;
import org.apache.http.ssl.TrustStrategy;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Base64;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;/*** 测试用例*/
public class ReviewProcessDemoTest {private static final Logger logger LoggerFactory.getLogger(ReviewProcessDemoTest.class);/*** 消息所属应用*/private static final String APP_NAME xxx;/*** 消息所属模块 须动态输入*/private static final String MODULE_NAME 第三方接口要求固定的入参没有可以不要;private static final String ENTITY_NAME 第三方接口要求固定的入参没有可以不要;//新增 根据文档填入ip和端口我这里第三方接口不用加端口只用ip请求过去自动路由到真实地址private static final String URL https://第三方接口ip/app-portalsp/openapi/sys-notifybus/sysNotifyComponent/send;//列表private static final String URL_1 https://第三方接口ip/app-portalsp/openapi/sys-notify/baseSysNotify/findByPerson;private static final String URL_2 https://第三方接口ip/app-portalsp/openapi/sys-notifybus/sysNotifyComponent/supports;//已查看private static final String URL_3 https://第三方接口ip/app-portalsp/openapi/sys-notifybus/sysNotifyComponent/read;//置为已办private static final String URL_4 https://第三方接口ip/app-portalsp/openapi/sys-notifybus/sysNotifyComponent/done;//恢复代办private static final String URL_5 https://第三方接口ip/app-portalsp/openapi/sys-notifybus/sysNotifyComponent/resume;//移除private static final String URL_6 https://第三方接口ip/app-portalsp/openapi/sys-notifybus/sysNotifyComponent/removeTodo;public static void main(String[] args) {MapString, Object params new HashMapString, Object();params.put(subject,请审批【测试真实地址跳转】);params.put(notifyType,todo);params.put(todoType,1);params.put(link,https://fw.fgw.sz.gov.cn/lscbwzsys/#/CBJH_Apply);params.put(appName,APP_NAME);params.put(moduleName,MODULE_NAME);//业务idparams.put(entityId,1e2hp5j4fw60v1fjgw3);params.put(entityName,ENTITY_NAME);//消息接收人根据orgProperty指定的组织架构属性名填写接收人信息params.put(targets, Collections.singletonList(xxxxx));params.put(notifyId,1e2hp5j4fw60v1fjgw3);//固定值params.put(orgProperty,fdLoginName);logger.info(请求参数为{},params);try {//获取浏览器信息CloseableHttpClient httpClient createSSLClientDefault();//post请求HttpPost httpPost new HttpPost(URL_6);//get请求 入参数据格式可能和示例不一致需要自己调整//HttpPost httpGet new HttpGet(URL_6);//塞入请求头信息httpPost.setHeader(Authorization,Basic Base64.getUrlEncoder().encodeToString((szfmimp : Pssw0rdtest).getBytes()));httpPost.setHeader(accept, */*);httpPost.setHeader(connection, Keep-Alive);httpPost.setHeader(user-agent, Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1));//请求数据格式为jsonStringEntity entity new StringEntity(JSONUtil.toJsonStr(params), ContentType.create(application/json,StandardCharsets.UTF_8));//请求数据httpPost.setEntity(entity);HttpResponse response httpClient.execute(httpPost);int statusCode response.getStatusLine().getStatusCode();HttpEntity httpEntity response.getEntity();String responseBody EntityUtils.toString(httpEntity, StandardCharsets.UTF_8);System.out.println(responseBody);} catch (IOException ex) {throw new RuntimeException(ex);}}public static CloseableHttpClient createSSLClientDefault() {try {SSLContext sslContext new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {// https请求信任所有Overridepublic boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {return true;}}).build();HostnameVerifier hostnameVerifier NoopHostnameVerifier.INSTANCE;SSLConnectionSocketFactory sslsf new SSLConnectionSocketFactory(sslContext, hostnameVerifier);return HttpClients.custom().setSSLSocketFactory(sslsf).build();} catch (KeyManagementException e) {logger.error(e.getMessage(), e);} catch (NoSuchAlgorithmException e) {logger.error(e.getMessage(), e);} catch (KeyStoreException e) {logger.error(e.getMessage(), e);}return HttpClients.createDefault();}}
有不足之处还请指教