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

做家教中介网站赚钱吗?做网站需要学什么软件

做家教中介网站赚钱吗?,做网站需要学什么软件,济南营销网站制作公司哪家好,做网站学什么语言好文章目录 依赖初始化客户端发起请求请求参数请求头设置超时时间设置线程数设置用户名密码结果解析节点选择器配置嗅探器整体示例问题参考 OpenSearch开发环境安装Docker和Docker-Compose两种方式 依赖 dependencygroupIdorg.elasticsearch.client/groupId… 文章目录 依赖初始化客户端发起请求请求参数请求头设置超时时间设置线程数设置用户名密码结果解析节点选择器配置嗅探器整体示例问题参考 OpenSearch开发环境安装Docker和Docker-Compose两种方式 依赖 dependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-client/artifactIdversion7.13.4/version !-- 建议就是这个版本 -- /dependency !-- 或者 -- dependencygroupIdorg.opensearch.client/groupIdartifactIdopensearch-java/artifactIdversion2.8.1/version /dependency初始化客户端 // 构建客户端 RestClient restClient RestClient.builder(new HttpHost(localhost, 9200, http),new HttpHost(localhost, 9201, http)).build();发起请求 performRequest 是同步请求方法: 将阻塞调用线程并在请求成功时返回响应或在请求失败时引发异常performRequestAsync: 是异步方法接收一个ResponseListener对象作为参数。如果请求成功则该参数使用响应进行调用如果请求失败则使用异常进行调用 // 同步请求Request request new Request(GET,/posts/_search);Response response restClient.performRequest(request); // 执行同步请求response.toString();// 异步请求Request request new Request(GET, /posts/_search);restClient.performRequestAsync(request, new ResponseListener() {Overridepublic void onSuccess(Response response) {log.info(异步请求成功! response.toString());}Overridepublic void onFailure(Exception e) {log.error(异步请求失败!);e.printStackTrace();}});请求参数 // 第一种 request.addParameter(pretty,true); // 第二种 request.setEntity(new NStringEntity({\json\:\text\},ContentType.APPLICATION_JSON)); // 第三种 request.setJsonEntity({\json\:\text\});请求头 RequestOptions.Builder builder RequestOptions.DEFAULT.toBuilder();builder.addHeader(Authorization, Bearer my-token);builder.setHttpAsyncResponseConsumerFactory(new HttpAsyncResponseConsumerFactory.HeapBufferedResponseConsumerFactory(30 * 1024 * 1024 * 1024));COMMON_OPTIONS builder.build(); Request request new Request(GET, /); request.setOptions(COMMON_OPTIONS);设置超时时间 RestClientBuilder builder RestClient.builder(new HttpHost(localhost, 9200, http));builder.setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {Overridepublic RequestConfig.Builder customizeRequestConfig(RequestConfig.Builder builder) {return builder.setConnectTimeout(50000) // 连接超时默认1s .setSocketTimeout(10000); // 套接字超时默认30s.setConnectionRequestTimeout(10000);}});设置线程数 Apache HTTP异常客户端默认启动一个调度程序线程连接管理器使用多个工作线程。 RestClientBuilder builder RestClient.builder(new HttpHost(localhost, 9200)).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {Overridepublic HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpAsyncClientBuilder) {return httpAsyncClientBuilder.setDefaultIOReactorConfig(IOReactorConfig.custom().setIoThreadCount(threadNumber).build());}});设置用户名密码 // 创建凭证提供程序设置用户名和密码 final CredentialsProvider credentialsProvider new BasicCredentialsProvider(); credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(admin, admin));// 使用 RestClient 构建器连接到 OpenSearch RestClient restClient RestClient.builder(new HttpHost(localhost, 9200, http)).setHttpClientConfigCallback(httpClientBuilder - {// 配置连接超时连接建立后两个节点之间数据传输的套接字超时和连接请求超时// 连接超时客户端和服务器建立连接的最长时间RequestConfig.Builder requestConfigBuilder RequestConfig.custom().setConnectTimeout(5000) // 连接超时为5秒.setSocketTimeout(10000) // 套接字超时为10秒.setConnectionRequestTimeout(10000); // 连接请求超时为10秒httpClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());// 设置凭证提供程序httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);return httpClientBuilder;}).build(); 结果解析 Response response restClient.performRequest(new Request(GET, /));// 已执行请求的信息RequestLine requestLine response.getRequestLine();// Host返回的信息HttpHost httpHost response.getHost();// 响应状态行从中解析状态代码int statusCode response.getStatusLine().getStatusCode();// 响应头可以通过getHeader(string)按名称获取Header[] headers response.getHeaders();String responseBody EntityUtils.toString(response.getEntity()); 节点选择器 在默认情况下客户端以轮询的方式将每个请求发送到配置的各个节点中 ES允许用户自由选择要连接的节点通过初始化客户端来配置节点选择器以便筛选节点。该功能在启用嗅探器时可以用来防止HTTP请求只命中专用的主节点。 配置后对于每个请求客户端都通过节点选择器来筛选备选节点。 RestClientBuilder builder RestClient.builder(new HttpHost(localhost,9200,http));builder.setNodeSelector(new NodeSelector(){Overridepublic void select(IterableNode nodes){boolean foundOne false;for(Node node : nodes){String rackId node.getAttributes().get(rack_id).get(0);if(targetId.equals(rackId)){foundOne true;break;}}if(foundOne){IteratorNode nodesIt nodes.iterator();while(nodesIt.hasNext()){Node node nodesIt.next();String rackId node.getAttributes().get(rack_id).get(0);if(targetId.equals(rackId) false){nodesIt.remove();}}}} 配置嗅探器 嗅探器允许自动发现运行中ES集群中的节点并将其设置为现有的RestClient实例 默认i情况下嗅探器使用nodes info API检索属于集群的节点并采用jackson解析获得JSON响应 dependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-client-sniffer/artifactIdversion${elasticsearch.version}/version/dependency创建RestClient实例就可以采用嗅探器与其互联。嗅探器利用RestClient提供的定期机制默认定期时间为5min)从集群中获取当前节点的列表通过调用RestClient类中的setNodes方法来更新。 整体示例 import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; import org.apache.http.auth.UsernamePasswordCredentials; import org.apache.http.client.CredentialsProvider; import org.apache.http.client.config.RequestConfig; import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.util.EntityUtils; import org.elasticsearch.client.Request; import org.elasticsearch.client.Response; import org.elasticsearch.client.ResponseException; import org.elasticsearch.client.RestClient;import java.io.IOException;public class OpenSearchExample {public static void main(String[] args) throws IOException {// Connect to OpenSearchfinal CredentialsProvider credentialsProvider new BasicCredentialsProvider();credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(admin, admin));RestClient restClient RestClient.builder(new HttpHost(10.12.23.1, 9200, http)).setHttpClientConfigCallback(httpClientBuilder - {RequestConfig.Builder requestConfigBuilder RequestConfig.custom().setConnectTimeout(5000).setSocketTimeout(10000).setConnectionRequestTimeout(10000);httpClientBuilder.setDefaultRequestConfig(requestConfigBuilder.build());httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);return httpClientBuilder;}).build();try {// Delete IndexdeleteIndex(restClient, my_index);// Create IndexcreateIndex(restClient, my_index);// Index DocumentindexDocument(restClient, {\index\:{\_index\:\my_index\,\_id\:1}}\n{ \field\: \value\ }\n);// Get DocumentgetDocument(restClient, my_index);// Delete DocumentdeleteDocument(restClient, my_index, 1);// Delete IndexdeleteIndex(restClient, my_index);} catch (ResponseException e) {e.printStackTrace();// Handle response exceptionSystem.err.println(Error: e.getResponse().getStatusLine().getReasonPhrase());} finally {// Close the clientrestClient.close();}}private static void createIndex(RestClient restClient, String index) throws IOException {// Create Index requestRequest request new Request(PUT, / index);// Execute the requestrestClient.performRequest(request);}private static void indexDocument(RestClient restClient, String s ) throws IOException {// Index Document requestRequest request new Request(POST, /_bulk );request.setJsonEntity(s);// Execute the requestrestClient.performRequest(request);}private static void getDocument(RestClient restClient, String index) throws IOException {// Get Document requestRequest request new Request(GET, / index /_search);// Execute the requestResponse response restClient.performRequest(request);// Handle the responseSystem.out.println(Document found: EntityUtils.toString(response.getEntity()));}private static void deleteDocument(RestClient restClient, String index, String id) throws IOException {// Delete Document requestRequest request new Request(DELETE, / index /_doc/ id);// Execute the requestrestClient.performRequest(request);}private static void deleteIndex(RestClient restClient, String index) throws IOException {// Delete Index requestRequest request new Request(DELETE, / index);// Execute the requestrestClient.performRequest(request);} } 问题 异常如下 Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targetat java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)at java.base/sun.security.validator.Validator.validate(Validator.java:264)at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:285)at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:144)at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1335)... 19 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targetat java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:146)at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:127)解决方案 因为证书问题我们用的是测试环境就不要费劲的去下载私有证书再安装了直接配置opensearch支持http即可。 opensearch.yml plugins.security.ssl.http.enabled: false或者直接禁用安全插件。 参考 https://www.cnblogs.com/openmind-ink/p/13951767.html
http://www.sadfv.cn/news/28168/

相关文章:

  • 制作网站的模板下载阳江市商品房备案查询
  • 公司建网站哪家南宁好的网站建设公司
  • 网站源码上传安装模板网站建设教程
  • 站长工具乱码公司变更名字需要什么手续
  • 做旅游网站的产品经理如何吴桥网站建设价格
  • 新网站做内链百度关键词搜索技巧
  • 哪家公司做网站开发做得比较好哔哩哔哩网页版官网在线观看
  • 营销型网站建设818gx做网站的背景怎么做
  • 微信公众号的模板网站花钱做网站不给部署
  • 低价网站建设费用预算wordpress增加网址大全
  • 网站开发 前景建设局职责
  • 网站外链坏处免费行情网站链接
  • 谁做的12306网站网站建设需求书模板
  • ps网站如何做烫金的文字win10建设网站
  • 读书网站建设策划书3733手游网站在哪里做的
  • 文件传输协议登录网站比较好的网站设计
  • 苏州城乡建设网站查询网络云网站
  • wordpress建设网站的方法手机做网站对比路由器做网站
  • 公司手机网站开发招标书公司网站有哪些
  • 怎么做网站讯息网站模板怎么用法
  • 做海报的网站推荐wordpress微信分享代码
  • 滕州网站建wordpress滑动门短代码
  • 做公司网站别人能看到吗6网站域名实名认证官网
  • 免费网页模板素材网站佛山网站建设技术托管
  • 网站开启gzip压缩泉州软件开发培训机构
  • 贵阳哪家网站建设公司好网页升级未成年请自觉离开
  • 巩义网站建设定制wordpress阅读次数
  • 现在能用的网站wordpress推广链接
  • 网站建设图片如何优化广西建设工会网站
  • 烟台网站推广优化企业官网设计模板