在java中模拟curl重定向行为

在java中模拟curl重定向行为,java,http,curl,cookies,resttemplate,Java,Http,Curl,Cookies,Resttemplate,我正在开发一个java客户机来从服务器提取不同的资源。使用cUrl提取资源,它可以正常工作。下面是一个使用cUrl的示例: curl -k --location --request GET 'https://<internal-service>/applications' --header 'Authorization: Bearer <token>' -c cookie.txt curl-k--location--request-GET'https:///applic

我正在开发一个java客户机来从服务器提取不同的资源。使用cUrl提取资源,它可以正常工作。下面是一个使用cUrl的示例:

curl -k --location --request GET 'https://<internal-service>/applications' --header 'Authorization: Bearer <token>' -c cookie.txt
curl-k--location--request-GET'https:///applications'--header'授权:承载'-c cookie.txt
当服务器在内部执行某些重定向时,必须使用-c cookie.txt,如果收到一个错误,说明遵循了最大重定向次数,则会将其删除。 我的问题是,在java中,我无法复制相同的行为。 根据一些建议,我尝试设置策略类,但没有任何乐趣。 开发的客户端使用javaRestTemplate

以前有人经历过吗?如果您有任何想法/链接/示例,我将不胜感激,目前我还没有找到任何有效的方法


提前感谢。

在java实现中,您得到了什么行为?对于java客户端,我注意到了一个奇怪的行为,我收到了返回200的状态代码和正文中的html页面,并且没有设置cookie头。相反,使用cUrl而不遵循重定向,接收到一个302位置和一个set cookie头,这是有意义的。对cUrl使用
-k
,这意味着证书验证被关闭。您的Java客户端可以允许您建立类似的连接吗?是的,我已经实现了自己的sslSocketFactory,它接受无效的证书。进一步检查,问题在于重定向,我正在创建自己的自定义重定向策略,但在第一次重定向后,它会丢失原始路径,并尝试仅重定向到没有路径的主机。在第一次重定向之后,位置响应类似于https:///请参阅和。然后找出你的文章中遗漏了什么,让其他人可以复制。只需一次编辑即可将其全部包含在您的帖子中。这将把帖子推到一个重新打开队列中,让用户看看它是否可以重新打开。注意:它只会去那里一次。注释中的信息并不重要。您在java实现中得到了什么行为?对于java客户端,我注意到了一个奇怪的行为,我收到了返回200的状态代码和正文中的html页面,并且没有设置cookie头。相反,使用cUrl而不遵循重定向,接收到一个302位置和一个set cookie头,这是有意义的。对cUrl使用
-k
,这意味着证书验证被关闭。您的Java客户端可以允许您建立类似的连接吗?是的,我已经实现了自己的sslSocketFactory,它接受无效的证书。进一步检查,问题在于重定向,我正在创建自己的自定义重定向策略,但在第一次重定向后,它会丢失原始路径,并尝试仅重定向到没有路径的主机。在第一次重定向之后,位置响应类似于https:///请参阅和。然后找出你的文章中遗漏了什么,让其他人可以复制。只需一次编辑即可将其全部包含在您的帖子中。这将把帖子推到一个重新打开队列中,让用户看看它是否可以重新打开。注意:它只会去那里一次。评论中的信息不算数。