gpt4 book ai didi

groovy - 如何防止 groovy RESTClient 对包含 %2F 代码的路径进行 url 编码?

转载 作者:行者123 更新时间:2023-12-05 01:01:49 26 4
gpt4 key购买 nike

我有一些 groovy 代码可以向服务器发出 GET 请求:

import groovyx.net.http.RESTClient
import static groovyx.net.http.ContentType.*

import groovyx.net.http.HTTPBuilder

def server = new RESTClient( 'https://myaccount.cloudant.com' )

// the id contains a forward slash, i.e. xxxx/yyyy

response = server.get (path: 'aaaa/xxxx%2Fyyyy',
contentType: JSON, requestContentType: JSON)

但是,以下内容正在发送到服务器:
"GET /aaaa/xxxx%252Fyyyy HTTP/1.1"

什么时候应该是这样:
"GET /aaaa/xxxx%2Fyyyy HTTP/1.1"

似乎 groovy 正在对路径进行编码 - 我该如何防止这种情况?

最佳答案

这对我有用:

import groovyx.net.http.RESTClient
import static groovyx.net.http.ContentType.*
import groovyx.net.http.URIBuilder
import groovyx.net.http.HTTPBuilder

def server = new RESTClient( 'https://myaccount.cloudant.com' )

def uri = new URIBuilder(
new URI( server.uri.toString() + '/aaaa/xxxx%2Fyyyy' )
)

response = server.get (
uri: uri,
requestContentType: JSON
)

关于groovy - 如何防止 groovy RESTClient 对包含 %2F 代码的路径进行 url 编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27489265/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com