【问题标题】:Jersey Client v 2 [duplicate]Jersey Client v 2 [重复]
【发布时间】: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() 方法吗? 我觉得硒更容易做到这一点,如果不是那么漂亮的话......

【问题讨论】:

    标签: java jersey


    【解决方案1】:

    我使用了依赖:

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

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

    【讨论】:

    • 好的!摆脱了错误谢谢...
    • 但仍然想知道我是如何发送数据的...好吧,我会尝试新事物并回发...
    • 当然。如果对您有帮助,您可以投票回答。
    • 我试图投票,但保持在 0 ... :( ...
    • 你也不能接受这个答案吗?我也在尝试用代码发布你的数据。你可以稍后投票
    猜你喜欢
    • 1970-01-01
    • 2016-06-10
    • 2017-05-06
    • 2018-04-07
    • 2016-11-21
    • 1970-01-01
    • 2022-11-04
    • 2017-01-21
    • 1970-01-01
    相关资源
    最近更新 更多