我正在尝试发送此请求:
WebClient.Builder builder = WebClient.builder();
WebClient client = builder.build();
client.post().uri(response.getMethod_result().getAcsUrl())
.header("PaReq", "eJxdUdtu6jAQ/BXEB8R2uCRBiyUKB")
.accept(MediaType.TEXT_PLAIN)
.contentType(MediaType.TEXT_PLAIN)
.retrieve()
.bodyToMono(String.class).block();
我想发送一个 token 作为 header 参数。但我收到错误:
但是我收到错误:
20:21:14.129 [reactor-http-nio-4] 警告 r.n.http.client.HttpClientConnect - [id: 0x92efcc15,L:/192.168.1.133:61444 - R:securecode.lisa.mastercard。 com/216.119.218.240:443] 连接出现错误
java.lang.IllegalArgumentException:在“\n”之后仅允许使用“”和“\t”:eJxdUdtu6jAQ/BXEB8R2uCRBiyUKB5UHUERBKn1zzR6I2lxwkob067smSWn7YGlntDuenYXd2SAu
nlCXBiWsMc/VCXvRcdrno0EQ8L6EcLbFi4QPNHmUJlI43HGBdZBmjD6rpJCg9OVhtZHu2HfHAlgL
IUazWkhXeJzzIU02GBIVo8RuOlQ1sBsFOi2TwtTSH3JgHYDSvMtzUWT5hLGqqhyM28lM1Y5OYwbM
tgC7+wlLW+UkeY2Ocr2YVX/fZrf+3OxWU2C2A46qQOlyEfCAez3hTVwxccnEjQcVWy/y33474A4n
uiUgs//MGjCgJYH9ZICiNZjoWgaeTwt1CPCapQlSB2XyXQO7u54/2kx1QWn5h+CS/Vc4F+FoWSxf
94FfvWSH55N6I/Ntk1WMKCvaoJG0AJiVYe0RKZ3bhan6dfkvyA6s2Q==
在 io.netty.handler.codec.http.DefaultHttpHeaders$HeaderValueConverterAndValidator.validateValueChar(DefaultHttpHeaders.java:492)
你知道我该如何解决这个问题吗?发送请求后应该返回网页
最佳答案
您应该检查 header 值是否不包含“\n”。
我猜你的代码如下:
.header("PaReq", "eJxdUdtu6jAQ/BXEB8R2uCRBiyUKB5UHUERBKn1zzR6I2lxwkob067smSWn7YGlntDuenYXd2SAu\n" +
"nlCXBiWsMc/VCXvRcdrno0EQ8L6EcLbFi4QPNHmUJlI43HGBdZBmjD6rpJCg9OVhtZHu2HfHAlgL\n" +
"IUazWkhXeJzzIU02GBIVo8RuOlQ1sBsFOi2TwtTSH3JgHYDSvMtzUWT5hLGqqhyM28lM1Y5OYwbM\n" +
"tgC7+wlLW+UkeY2Ocr2YVX/fZrf+3OxWU2C2A46qQOlyEfCAez3hTVwxccnEjQcVWy/y33474A4n\n" +
"uiUgs//MGjCgJYH9ZICiNZjoWgaeTwt1CPCapQlSB2XyXQO7u54/2kx1QWn5h+CS/Vc4F+FoWSxf");
所以删除所有“\n”。
希望对您有所帮助。
关于java - 打开 url 并发送 header 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57836003/