java - 泽西岛客户端 v 2
问题描述
我有一个网站,我只想编写一个脚本来将字符串发送到页面上的文本输入(唯一的一个),然后单击提交。我建造了一个 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$lookupInjectionManagerFactory$0(Injections.java:98) at java.util.Optional.orElseThrow(Optional.java:290)
那么要将文本字符串发送到页面上的文本输入,我应该使用 .post() 方法吗?我觉得硒更容易做到这一点,如果不是那么漂亮......
解决方案
我使用了依赖:
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.16</version>
</dependency>
它工作正常:
也许你应该改变你的依赖版本。
希望对你有帮助:)
推荐阅读
- debugging - 如何在 Visual Studio Code 中将 Chrome 调试器与实时服务器一起使用
- vba - PowerPoint VBA - 主题颜色公式
- javascript - 无法读取 Sequelize 节点 js 中未定义的属性“创建”错误
- jquery - 在数据表 ajax 调用中获得额外价值
- c# - EF Core 2、.NET CORE 2:如何使用 IQueryable 查询同一列的多个条件
? - json - 为什么我的 Gson 对象一直返回 null?
- matplotlib - 为 matplotlib 颜色图设置颜色限制
- javascript - 具有锚链接偏移量的到达路由器导航()?
- .htaccess - 允许用户使用 htaccess 访问管理部分
- windows - Redis 问题为 Windows 编译 ReJSON 模块