gpt4 book ai didi

java - 监听来自 Web 服务端点的响应?

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

我想编写一个监听 Web 服务端点的应用程序:

 hostname:port

并拦截来自该端口的任何响应。 (稍后我会将这些响应转化为事件,并将它们传递给 esper 进行 CEP。)最简单的方法是什么? (Java 语言)

附注没有加密/安全/ session 。只是一个公开的端点,每当请求到来时都会输出 http/xml。

编辑:我没有部署 Web 服务,我正在编写一个客户端,它将监听和拦截其他客户端请求的来自 Web 服务的所有和任何 http 响应。我需要一个倾听者...

Edit2/@Rami:我可以将其构建为我的 ws 堆栈中的过滤器,但是假设我有 100 个这样的 Web 服务,并且如上所述,我的目标是将数据路由到均匀处理器。我无法为每一个过滤器构建一个过滤器,而且其他过滤器可能由供应商拥有,重点是,我有权使用我想要监听的网络服务,我只想监视最初未构建/设计的场景的响应在原始部署中

最佳答案

问题的解决方案是编写自己的代理并通过该应用程序重定向所有流量。

您可以编写一个应用程序来接收请求并将其转发到其他服务器(您的端点),获取响应并将其发送回请求它的客户端。类似于以下内容:

ServerSocket server = new ServerSocket(port);
Socket client = server.accept();
// Read input from client here using InputStream

Socket endpoint = new Socket(addressToEndpoint, endpointPort);
// Forward request to endpoint here
// Get reponse

// Do whatever you need with the response here

// Write response back to client
// close everything

除此之外,我认为可能的唯一其他方法是使用一些 native 库与网络适配器进行通信以嗅探它。据我所知,Java 没有任何东西可以使您的应用程序成为中间人。

关于java - 监听来自 Web 服务端点的响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20662812/

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