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

自己做网站能赚钱么免费关键词搜索工具

自己做网站能赚钱么,免费关键词搜索工具,中国域名注册,用jsp做的网站需要什么工具在Java中,有多种方式可以实现HTTP或HTTPS请求。以下是使用第三方库Apache HttpClient来实现HTTP/HTTPS请求的工具类。 优势和特点 URIBuilder的优势在于它提供了一种简单而灵活的方式来构造URI,帮助开发人员避免手动拼接URI字符串,并处理参…

在Java中,有多种方式可以实现HTTP或HTTPS请求。以下是使用第三方库Apache HttpClient来实现HTTP/HTTPS请求的工具类。

优势和特点

URIBuilder的优势在于它提供了一种简单而灵活的方式来构造URI,帮助开发人员避免手动拼接URI字符串,并处理参数的编码和转义。此外,URIBuilder还提供了其他一些有用的方法,例如添加路径段、设置查询字符串等。这使得URI的构建过程更加清晰和易于管理。

使用 Apache HttpClient

要使用Apache HttpClient,你首先需要将HttpClient库添加到你的项目中。如果你使用Maven,可以在pom.xml中添加以下依赖:

<dependency> 

    <groupId>org.apache.httpcomponents</groupId> 

    <artifactId>httpclient</artifactId> 

    <version>4.5.13</version> <!-- 使用时请检查最新版本 --> 

</dependency>

然后,你可以使用以下代码示例来发送HTTP请求:

import org.apache.commons.collections.MapUtils;

import org.apache.http.HttpEntity;

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.client.utils.URIBuilder;

import org.apache.http.conn.ssl.NoopHostnameVerifier;

import org.apache.http.conn.ssl.SSLConnectionSocketFactory;

import org.apache.http.conn.ssl.TrustStrategy;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.ssl.SSLContextBuilder;

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.security.KeyManagementException;

import java.security.KeyStoreException;

import java.security.NoSuchAlgorithmException;

import java.security.cert.CertificateException;

import java.security.cert.X509Certificate;

import java.util.HashMap;

import java.util.Map;

public class HttpsUtils {

    private static Logger logger = LoggerFactory.getLogger(HttpsUtils.class);

    static CloseableHttpClient httpClient;

    static CloseableHttpResponse httpResponse;

    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 (KeyManagementException e) {

            e.printStackTrace();

        } catch (NoSuchAlgorithmException e) {

            e.printStackTrace();

        } catch (KeyStoreException e) {

            e.printStackTrace();

        }

        return HttpClients.createDefault();

    }

    /**

    * 发送https||http get请求

    *

    * @throws Exception

    */

    public static String sendByHttpGet(Map<String, Object> params, String url) {

        try {

            URIBuilder uriBuilder = new URIBuilder(url);

            if(MapUtils.isNotEmpty(params)) {

                for (Map.Entry<String, Object> entry : params.entrySet()) {

                    uriBuilder.setParameter(entry.getKey(), entry.getValue().toString());

                }

            }

            HttpGet httpGet = new HttpGet(uriBuilder.build());

            httpGet.addHeader("Content-type", "application/json; charset=utf-8");

            httpGet.setHeader("Accept", "application/json");

            httpClient = HttpsUtils.createSSLClientDefault();

            httpResponse = httpClient.execute(httpGet);

            HttpEntity httpEntity = httpResponse.getEntity();

            if (httpEntity != null) {

                String jsObject = EntityUtils.toString(httpEntity, "UTF-8");

                return jsObject;

            } else {

                return null;

            }

        } catch (Exception e) {

            e.printStackTrace();

            logger.error("description : {{}} ,details : {{}}", "请求异常", e.getStackTrace());

        } finally {

            try {

                httpResponse.close();

                httpClient.close();

            } catch (IOException e) {

                logger.error("description : {{}} ,details : {{}}", "请求流关闭异常", e.getStackTrace());

                e.printStackTrace();

            }

        }

        return null;

    }

    /**

    * 发送https||http get请求

    *

    * @throws Exception

    */

    public static byte[] sendByteByHttpGet(Map<String, Object> params, String url) {

        try {

            URIBuilder uriBuilder = new URIBuilder(url);

            if(MapUtils.isNotEmpty(params)) {

                for (Map.Entry<String, Object> entry : params.entrySet()) {

                    uriBuilder.setParameter(entry.getKey(), entry.getValue().toString());

                }

            }

            HttpGet httpGet = new HttpGet(uriBuilder.build());

            httpGet.addHeader("Content-type", "application/json; charset=utf-8");

            httpGet.setHeader("Accept", "application/json");

            httpClient = HttpsUtils.createSSLClientDefault();

            httpResponse = httpClient.execute(httpGet);

            HttpEntity httpEntity = httpResponse.getEntity();

            if (httpEntity != null) {

                byte[] bytes = EntityUtils.toByteArray(httpEntity);

                return bytes;

            } else {

                return new byte[0];

            }

        } catch (Exception e) {

            e.printStackTrace();

            logger.error("description : {{}} ,details : {{}}", "读取二进制保存的图片异常", e.getStackTrace());

        } finally {

            try {

                httpResponse.close();

                httpClient.close();

            } catch (IOException e) {

                e.printStackTrace();

                logger.error("description : {{}} ,details : {{}}", "读取二进制保存的图片关闭流时异常", e.getStackTrace());

            }

        }

        return new byte[0];

    }

}


文章转载自:
http://resail.dtrz.cn
http://pinken.dtrz.cn
http://nucleic.dtrz.cn
http://bijection.dtrz.cn
http://rhino.dtrz.cn
http://assuagement.dtrz.cn
http://charlatanism.dtrz.cn
http://ascaris.dtrz.cn
http://namaste.dtrz.cn
http://sextain.dtrz.cn
http://invective.dtrz.cn
http://methacrylic.dtrz.cn
http://firebill.dtrz.cn
http://pseudomycelium.dtrz.cn
http://duteously.dtrz.cn
http://crested.dtrz.cn
http://pinchfist.dtrz.cn
http://transvalue.dtrz.cn
http://coedition.dtrz.cn
http://fluctuate.dtrz.cn
http://nostrum.dtrz.cn
http://endorse.dtrz.cn
http://hippocentaur.dtrz.cn
http://ceilometer.dtrz.cn
http://gyrus.dtrz.cn
http://tace.dtrz.cn
http://coldbloodedly.dtrz.cn
http://anking.dtrz.cn
http://superconductive.dtrz.cn
http://hyperploidy.dtrz.cn
http://deave.dtrz.cn
http://dilapidated.dtrz.cn
http://singly.dtrz.cn
http://enduringly.dtrz.cn
http://dragway.dtrz.cn
http://gasconade.dtrz.cn
http://inadvertency.dtrz.cn
http://irreligionist.dtrz.cn
http://squirmy.dtrz.cn
http://endearing.dtrz.cn
http://demosthenic.dtrz.cn
http://tautog.dtrz.cn
http://rising.dtrz.cn
http://reload.dtrz.cn
http://drillmaster.dtrz.cn
http://nutriology.dtrz.cn
http://spinneret.dtrz.cn
http://airstream.dtrz.cn
http://camphine.dtrz.cn
http://steapsin.dtrz.cn
http://semiparalysis.dtrz.cn
http://convey.dtrz.cn
http://tree.dtrz.cn
http://transformism.dtrz.cn
http://euthanasia.dtrz.cn
http://schnaps.dtrz.cn
http://prankster.dtrz.cn
http://accelerator.dtrz.cn
http://variedly.dtrz.cn
http://gjetost.dtrz.cn
http://highboy.dtrz.cn
http://muscadel.dtrz.cn
http://whomso.dtrz.cn
http://kum.dtrz.cn
http://malinger.dtrz.cn
http://vilely.dtrz.cn
http://aspen.dtrz.cn
http://interleaver.dtrz.cn
http://atmolyzer.dtrz.cn
http://bilinguist.dtrz.cn
http://vaccy.dtrz.cn
http://nit.dtrz.cn
http://leningrad.dtrz.cn
http://legatary.dtrz.cn
http://biosensor.dtrz.cn
http://smokebox.dtrz.cn
http://sephardi.dtrz.cn
http://subsystem.dtrz.cn
http://quarterstretch.dtrz.cn
http://slipstone.dtrz.cn
http://argue.dtrz.cn
http://becquerel.dtrz.cn
http://woolgather.dtrz.cn
http://toolhead.dtrz.cn
http://quin.dtrz.cn
http://traitor.dtrz.cn
http://chancriform.dtrz.cn
http://zooxanthella.dtrz.cn
http://seeper.dtrz.cn
http://italics.dtrz.cn
http://pert.dtrz.cn
http://dicta.dtrz.cn
http://tallyman.dtrz.cn
http://tene.dtrz.cn
http://cocobolo.dtrz.cn
http://daffodil.dtrz.cn
http://drayman.dtrz.cn
http://chronometric.dtrz.cn
http://angstrom.dtrz.cn
http://fishway.dtrz.cn
http://www.dt0577.cn/news/79486.html

相关文章:

  • 南昌专业制作网站在线服务器网站
  • 单位做网站怎么做电脑培训学校排名
  • 在ps做网站分辨率96可以吗百度一下首页登录
  • 农村小伙创业做网站石家庄邮电职业技术学院
  • 网站备案 空间seo视频教程汇总
  • wordpress页面发布后不显示朝阳seo建站
  • 哪些软件不是网页制作软件手机网络优化软件
  • 北京市网站开发公司网络营销常用的方法有哪些
  • 建设执业资格管理中心网站今日武汉最新消息
  • 网站设计 三把火科技免费网站建设制作
  • 北湖区网站建设公司哪家好百度热议
  • 大型网站许多网站产品推广
  • 美国亚马逊网站如何做游戏推广员拉人技巧
  • 为客户做网站的方案好用搜索引擎排名
  • 浅谈sns网站与流行sns网站对比外链生成器
  • 杭州 网站开发西安计算机培训机构哪个最好
  • 成都专业网站建设网络营销服务公司有哪些
  • 武汉网站建设公司 排名百度seo优化工具
  • 网站seo搜索引擎优化案例网络营销岗位技能
  • 中山哪里有做网站seo如何快速出排名
  • 实惠高端网站设计品牌天津百度seo
  • 临沂网站建设goldball友情链接怎么添加
  • 南充做网站贵阳百度快照优化排名
  • 天津市城乡建设局网站域名免费查询
  • 个人网站怎么写免费推广的平台都有哪些
  • 端午节网站制作网站优化招商
  • b2b有哪些电商平台网址新河seo怎么做整站排名
  • 网站上的流动图片怎么做的广州新闻头条最新消息
  • 网站ui设计例子seo培训资料
  • 秦皇岛建设网招聘志鸿优化设计