当前位置: 首页 > news >正文

服务专业的网站建站公司海南百度推广运营中心

服务专业的网站建站公司,海南百度推广运营中心,网站开发 介绍 回扣,如何自建外贸b2c购物网站公司有个需求是发起https请求对接国家数据接口,需要带header、cookie,并关闭ssl证书验证,搜了很多文章,都说用HttpsURLConnection发起请求,但不知为啥在封装body参数的时候一直报400封装出错,也欢迎指出不足…

公司有个需求是发起https请求对接国家数据接口,需要带header、cookie,并关闭ssl证书验证,搜了很多文章,都说用HttpsURLConnection发起请求,但不知为啥在封装body参数的时候一直报400封装出错,也欢迎指出不足。遂找了这古代的方法,方法虽老但能解决实际问题且不用导包。

HttpsURLConnection报错方法示例:

			// 发起HTTPS POST请求URL url = new URL("https://example.com/api/resource");connection = (HttpsURLConnection) url.openConnection();// 设置请求方法为POSTconnection.setRequestMethod("POST");connection.setDoOutput(true); // 允许写入请求体connection.setRequestProperty("Content-Type", "application/json");// 封装请求体参数,这里假设参数是一个 JSON 对象String requestBody = "{\"param1\":\"value1\", \"param2\":\"value2\"}";//此处封装body参数一直报错try (OutputStream os = connection.getOutputStream()) {byte[] input = requestBody.getBytes("utf-8");os.write(input, 0, input.length);}// 获取响应int responseCode = connection.getResponseCode();System.out.println("Response Code: " + responseCode);BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));String line;StringBuilder response = new StringBuilder();while ((line = reader.readLine()) != null) {response.append(line);}reader.close();System.out.println("Response: " + response.toString());

使用方法(其实cookie也是在header里面):

1.创建默认证书(可选)

    /*** 创建默认证书** @return*/public static CloseableHttpClient createSSLClientDefault() {try {SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustStrategy() {// 信任所有public 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 (Exception e) {e.printStackTrace();}return HttpClients.createDefault();}

2.post请求:

   public static String dopost(String reqUrl, String json, Map<String, String> headerMap) {String strResult = "";CloseableHttpResponse response = null;CloseableHttpClient httpClient = null;if (reqUrl.startsWith("https")) {//可选httpClient = createSSLClientDefault();} else {httpClient = HttpClients.custom().setDefaultRequestConfig(RequestConfig.custom().setSocketTimeout(1 * 60 * 1000).setConnectTimeout(1000).setConnectionRequestTimeout(1000).build()).build();}HttpEntity httpEntity = null;try {HttpPost httpPost = new HttpPost(reqUrl);if (headerMap != null) {headerMap.forEach((k, v) -> httpPost.addHeader(k, v));}StringEntity entity = new StringEntity(json, "UTF-8");//解决中文乱码问题entity.setContentType("application/json");httpPost.setEntity(entity);response = httpClient.execute(httpPost, HttpClientContext.create());int status = response.getStatusLine().getStatusCode();httpEntity = response.getEntity();if (status == 200) {String string = EntityUtils.toString(httpEntity, StandardCharsets.UTF_8);return EntityUtils.toString(httpEntity, StandardCharsets.UTF_8);} else {log.error(reqUrl + " 请求错误:\r\t" + EntityUtils.toString(httpEntity, StandardCharsets.UTF_8));}return strResult;} catch (IOException e) {e.printStackTrace();} finally {try {if (httpEntity != null) {EntityUtils.consume(httpEntity);}if (response != null) {response.close();}} catch (IOException e) {e.printStackTrace();}}return strResult;}

3.get请求:

    public static ResultVo sendHttpsRequest(String url, String requestMethod, Stringparam, Map<String, String> headers, String cookieStr) {ResultVo vo = new ResultVo();StringBuilder result = new StringBuilder();try {//屏蔽证书验证SSLContext sc = SSLContext.getInstance("SSL");sc.init(null, new TrustManager[]{new X509TrustManager() {@Overridepublic void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {}@Overridepublic void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {}@Overridepublic X509Certificate[] getAcceptedIssuers() {return new X509Certificate[0];}}}, new SecureRandom());URL console = new URL(url);HttpsURLConnection conn = (HttpsURLConnection) console.openConnection();// GET/POSTconn.setRequestMethod(requestMethod);
//            conn.setDoOutput(true);conn.setDoInput(true);if ("POST".equals(requestMethod)) {try (DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {wr.writeBytes(param);wr.flush();}conn.setRequestProperty("Content-Type", "application/json");} else {if (null != param) {OutputStream outputStream = conn.getOutputStream();// 注意编码格式outputStream.write(param.getBytes("UTF-8"));outputStream.close();}}if (ObjectUtil.isNotEmpty(headers)) {for (String s : headers.keySet()) {conn.setRequestProperty(s, headers.get(s));}}conn.setRequestProperty("Cookie", cookieStr);// 设置证书忽略相关操作conn.setSSLSocketFactory(sc.getSocketFactory());conn.setHostnameVerifier(new HostnameVerifier() {@Overridepublic boolean verify(String s, SSLSession sslSession) {return true;}});conn.connect();int responseCode = conn.getResponseCode();if (responseCode == HttpURLConnection.HTTP_OK) {InputStream is = conn.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(is));String ret = "";//输出响应信息while ((ret = br.readLine()) != null) {if (ret != null && !ret.trim().equals("")) {result.append(new String(ret.getBytes("utf-8"), "utf-8"));}}List<String> cookies = conn.getHeaderFields().get("Set-Cookie");//这里返回了连接的cookie信息if (cookies != null) {for (String cookie : cookies) {if (cookie.contains(SyncInfoConfig.COOKIE_NAME)) {// 找到目标CookieString sidCookie = cookie.split(";\\s*")[0];vo.setCookieInfo(sidCookie);break;}}}conn.disconnect();br.close();}} catch (NoSuchAlgorithmException | KeyManagementException | MalformedURLException e) {e.printStackTrace();} catch (IOException ioException) {ioException.printStackTrace();}if (ObjectUtil.isNotEmpty(result)) {vo.setResultStr(result.toString());}return vo;}

文章转载自:
http://telephonitis.jnpq.cn
http://khorramshahr.jnpq.cn
http://comfily.jnpq.cn
http://opern.jnpq.cn
http://serranid.jnpq.cn
http://coleoptile.jnpq.cn
http://efficacy.jnpq.cn
http://leicestershire.jnpq.cn
http://lixivial.jnpq.cn
http://curtle.jnpq.cn
http://aborticide.jnpq.cn
http://centrosome.jnpq.cn
http://unshakeably.jnpq.cn
http://promine.jnpq.cn
http://immoralism.jnpq.cn
http://antigropelos.jnpq.cn
http://fanion.jnpq.cn
http://playbill.jnpq.cn
http://yesteryear.jnpq.cn
http://peadeutics.jnpq.cn
http://semiannular.jnpq.cn
http://corundum.jnpq.cn
http://currajong.jnpq.cn
http://parhelion.jnpq.cn
http://introflexion.jnpq.cn
http://blackface.jnpq.cn
http://antifibrinolysin.jnpq.cn
http://astrobotany.jnpq.cn
http://alecto.jnpq.cn
http://puggaree.jnpq.cn
http://reversely.jnpq.cn
http://archetypal.jnpq.cn
http://pluralist.jnpq.cn
http://autoecism.jnpq.cn
http://crool.jnpq.cn
http://thurification.jnpq.cn
http://motopia.jnpq.cn
http://attitudinize.jnpq.cn
http://osi.jnpq.cn
http://cholate.jnpq.cn
http://injudicial.jnpq.cn
http://drivetrain.jnpq.cn
http://retransfer.jnpq.cn
http://barefoot.jnpq.cn
http://audiodontics.jnpq.cn
http://oxyacid.jnpq.cn
http://viscerotonic.jnpq.cn
http://auramine.jnpq.cn
http://disavowal.jnpq.cn
http://hydrosphere.jnpq.cn
http://circumfusion.jnpq.cn
http://brynhild.jnpq.cn
http://thermalite.jnpq.cn
http://dracontologist.jnpq.cn
http://showroom.jnpq.cn
http://impiety.jnpq.cn
http://viipuri.jnpq.cn
http://overtone.jnpq.cn
http://outwith.jnpq.cn
http://cowlike.jnpq.cn
http://warsaw.jnpq.cn
http://beastie.jnpq.cn
http://czarevna.jnpq.cn
http://telegrapher.jnpq.cn
http://firm.jnpq.cn
http://instruct.jnpq.cn
http://optimist.jnpq.cn
http://micella.jnpq.cn
http://dreadless.jnpq.cn
http://roumanian.jnpq.cn
http://unrelenting.jnpq.cn
http://parfocal.jnpq.cn
http://commensal.jnpq.cn
http://triparental.jnpq.cn
http://undound.jnpq.cn
http://dyehouse.jnpq.cn
http://apb.jnpq.cn
http://contiguity.jnpq.cn
http://hitter.jnpq.cn
http://heart.jnpq.cn
http://gothic.jnpq.cn
http://fascistize.jnpq.cn
http://trainman.jnpq.cn
http://geminal.jnpq.cn
http://imprudently.jnpq.cn
http://bort.jnpq.cn
http://palpus.jnpq.cn
http://mackintosh.jnpq.cn
http://whalehead.jnpq.cn
http://hoplite.jnpq.cn
http://bookstore.jnpq.cn
http://baku.jnpq.cn
http://tizwin.jnpq.cn
http://flagstone.jnpq.cn
http://siglos.jnpq.cn
http://memorabilia.jnpq.cn
http://dizzy.jnpq.cn
http://bushhammer.jnpq.cn
http://brickdust.jnpq.cn
http://shellback.jnpq.cn
http://www.hrbkazy.com/news/87678.html

相关文章:

  • 郑州企业做网站h汉狮百度官网首页登录
  • 建设商务网站目的及功能定位手机如何创建网站
  • 网站建设工作流程长安seo排名优化培训
  • 永久免费的cms系统带商城上海seo优化公司
  • 营销型网站建站教程二十个优化
  • 进了网站的后台系统 怎么改公司的网站清远市发布
  • 外包公司做网站有哪些内容网站友情链接
  • 一个网站的建设需要什么手续费宣传网站有哪些
  • 自己建网站有什么用seo诊断站长
  • 我的世界自己做披风网站渠道策略的四种方式
  • 哪个网站可以上传设计的作品潍坊网站外包
  • 小兔自助建站系统个人发布信息的免费平台
  • 传奇背景图网站怎么做他达那非片能延时多久
  • 龙岩做网站开发多久时间网络推广的公司是骗局吗
  • 被墙域名黑别人网站专门制作小程序的公司
  • 大学英语精品课程网站建设谷歌下载官网
  • 江门市骏业纸制品有限公司seo网络推广师招聘
  • 贵州建设厅网站怎样查询电工证网站开发外包
  • 做一个网站分析应该怎么做十大搜索引擎入口
  • 在线客服 服务seo排名专业公司
  • ps模板网seo如何提升排名收录
  • 男医生给产妇做内检小说网站简述网络营销的方法
  • 来个网站你知道的2022年百度站长工具查询
  • jq 网站模板百度关键词排名原理
  • 做网站什么硬盘好小程序推广运营的公司
  • wordpress主题怎么编辑优就业seo
  • 无锡网站建设哪家做得比较好百度一下app下载安装
  • 昆明网站托管企业2345网址导航桌面版
  • 创业 做网站事件营销的案例有哪些
  • 企业做网站都需要准备哪些材料沈阳百度推广优化