小编Zer*_*erg的帖子

Powershell base64 vs regular base64

我使用powershell来转换字符串

$Text = 'ouser:v3$34@#85b&g%fD79a3nf'
$Bytes = [System.Text.Encoding]::Unicode.GetBytes($Text)
$EncodedText =[Convert]::ToBase64String($Bytes)
$EncodedText 
Run Code Online (Sandbox Code Playgroud)

但是,当使用https://www.base64decode.org/或某些用于base64编码的java库时,我会得到一个不同的,更短的版本.

示例字符串:

这是一个秘密,应该隐藏起来

powershell结果:

VABoAGkAcwAgAGkAcwAgAGEAIABzAGUAYwByAGUAdAAgAGEAbgBkACAAcwBoAG8AdQBsAGQAIABiAGUAIABoAGkAZABlAG4A

正常base64结果:

VGhpcyBpcyBhIHNlY3JldCBhbmQgc2hvdWxkIGJlIGhpZGVu

在使用网站时,我能够解码两个版本,但是使用我的java代码我只能解码后者.这是为什么?是否有多个版本的base64?这些差异来自哪里?

powershell base64

8
推荐指数
1
解决办法
3119
查看次数

使用 docker-compose 网络内部的 url 访问另一个服务

我正在使用 docker-compose 托管 3 个服务。

    version: '3.3'

services:

  service-a:
    container_name: service-a
    network_mode: default
    ports:
      - 8001:8001
      - 8080:8080


  service-b:
    container_name: service-b
    network_mode: default
    ports:
      - 8180:8080 
    links:
      - service-a:srv_a


  service-api:
    container_name: service-api
    environment: 
      - SERVER_URL=http://localhost:8180/myserver
     - 8001:8001
    links:
      - service-b: srv_b     
Run Code Online (Sandbox Code Playgroud)

但是,尽管有链接,但作为 Spring Boot 应用程序的 service-api 无法访问 service-b。

我可以在使用浏览器时做到这一点。

我可以做些什么来调查缺乏连接的原因?

是否应该在 server_url 变量中以某种方式使用链接?

docker docker-compose

4
推荐指数
1
解决办法
3407
查看次数

使用java api进行Elasticsearch多条件查询

有多个文档,每个文档包含大约100个字段.我想通过elasticsearch Java API 5.x执行以下搜索:

有3个字段我想用于此搜索,即

department
job
name
Run Code Online (Sandbox Code Playgroud)

我想搜索匹配"department:D1","department:D2","job:J1","job:J2""name:N1"等字段的返回文档

我一直试图这样做

String[] departments = ["d1","d2","d3"];
String[] jobs = ["j1","j2","j3"];
String[] names = ["n1"];

MultiSearchRequestBuilder requestbuilder; 

requestBuilder.add(client.prepareSearch().setQuery(QueryBuilders.termsQuery("department", departments)));
requestBuilder.add(client.prepareSearch().setQuery(QueryBuilders.termsQuery("job", jobs)));
requestBuilder.add(client.prepareSearch().setQuery(QueryBuilders.termsQuery("name", names)));

MultiSearchResponse response = requestBuilder.get();
Run Code Online (Sandbox Code Playgroud)

但是,执行查询就好像每个查询都是单个查询一样,即在本例中当d4中存在j3时,带有d4的文档将被匹配

如何按照我提到的方式进行搜索?我一直在尝试各种不同的查询,似乎什么都没有用,有什么我想念的吗?

java elasticsearch elasticsearch-java-api

2
推荐指数
1
解决办法
5505
查看次数

Spring - 使用 HttpEntity 从 ResponseEntity 获取正文的通用方法

在我的代码中,我经常通过以下方式将 HttpEntity 与 ResponseEntity 一起使用:

HttpEntity<?> request = new HttpEntity<String>(myObject, headers);

ResponseEntity<String> response = restTemplate.exchange("someurl", HttpMethod.POST, request, String.class);
Run Code Online (Sandbox Code Playgroud)

进而

response.getBody()
Run Code Online (Sandbox Code Playgroud)

我一直在重复这段代码,我想知道是否有可能创建一个通用方法,当我向它提供我想要发送的对象、一个 url 和一个 HttpMethod 类型时,它允许我获取 response.body()。大多数情况下,响应主体是一个字符串,但也可以是一个对象。

java spring httpentity

1
推荐指数
1
解决办法
8367
查看次数