Jersey Client v 2 [重复]

Posted

技术标签:

【中文标题】Jersey Client v 2 [重复]【英文标题】:Jersey Client v 2 [duplicate] 【发布时间】:2018-12-21 16:01:01 【问题描述】:

我有一个网站,我只想编写一个脚本来将字符串发送到页面上的文本输入(唯一一个),然后单击提交。 我构建了一个 selenium,但被告知这太过分了,访问页面上的端点并以这种方式发送文本要“更容易”。

有人建议我为此使用 Jersey 客户端。

import org.glassfish.jersey.client.*;
import org.glassfish.jersey.client.JerseyWebTarget;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.WebTarget; 
import javax.ws.rs.core.Response;
import org.glassfish.jersey.client.JerseyClientBuilder;

public class mqDirect 

public static void main (String args[])


    String baseUrl = "URL";   // removed real url herebut it is properlink
    Client client = JerseyClientBuilder.createClient();

    WebTarget target = client.target(baseUrl);
    Response response = target.request().get();

    System.out.print("response is : " + response);

 

我一直在查看示例并且这段代码可以编译,但我只是想看看在这种情况下的实际响应是什么,当我运行它时出现错误

线程“主”java.lang.IllegalStateException 中的异常: 未找到 InjectionManagerFactory。 atorg.glassfish.jersey.internal.inject.Injections.lambda$lookupInjectionManag erFactory$0(Injections.java:98) 在 java.util.Optional.orElseThrow(Optional.java:290)

所以要向页面上的文本输入发送文本字符串,我应该使用 .post() 方法吗? 我觉得硒更容易做到这一点,如果不是那么漂亮的话......

【问题讨论】:

【参考方案1】:

我使用了依赖:

        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-client</artifactId>
            <version>2.16</version>
        </dependency>

它可以正常工作: 也许你应该改变你的依赖版本。 希望对你有帮助:)

【讨论】:

好的!摆脱了错误谢谢... 但仍然想知道我是如何发送数据的...好吧,我会尝试新事物并回发... 当然。如果对您有帮助,您可以投票回答。 我试图投票,但保持在 0 ... :( ... 你也不能接受这个答案吗?我也在尝试用代码发布你的数据。你可以稍后投票

以上是关于Jersey Client v 2 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

spring boot - 迫使我在运行时使用jersey client 1.19

在 Jersey Client 2 中编码花括号

Jersey实现Client端:GET/PUT/POST/DELETE

如何在 Spring MVC 中使用 Jackson 和 Jersey 2 Client 反序列化 Joda DateTime?

无法实例化提供程序 org.glassfish.jersey.client.JerseyClientBuilder

jersey示例