如何使用jsoup post/get发送不同数量的参数?
问题描述:
我正在为表单分页,然后在发送表单/使用jsoup之前解析/修改网页中的输入参数。如何使用jsoup post/get发送不同数量的参数?
我修改了参数后,我试图发送帖子,但有一个问题。可能的参数对(名称,值)的数量取决于表单。
普通帖子在jsoup是这样的:
Connection.Response res = Jsoup.connect(formDTO.getUrl())
.data("username", "admin", "password", "admin", "login-php-submit-button", "Login")
.method(getMethod(formDTO.getMethod()))
.execute();
Document doc = res.parse();
System.out.println(doc.toString());
的.data()
接受对参数(名称,值)和多个参数,从我发现,我可以增加在数字对.data("username", "admin", "password", "admin")
或我可以增加.data("name","value")
的数量。但是如果你不知道你得到了多少参数,那么这些解决方案就无法工作。
我想不会*写了许多相同的功能,除了有不同数量的.data()调用...
的Javadoc赛斯:
添加了一些请求数据参数。一次设置多个参数 ,例如:.data(“name”,“jsoup”,“language”,“Java”, “language”,“English”);创建一个查询字符串,如: ?name = jsoup & language = Java & language = English参数:keyvals - 一组关键值对的集合 。返回:此连接,用于链接
有没有办法构建帖子,以便它可以接受不同数量的参数?
答
经过一番挖掘我发现数据()重载与地图,它可以解决不同数量的参数问题。
文档here
连接数据(类别数据)添加所有 提供的数据对所述请求数据的参数连接 数据(地图数据)将提供的所有数据到 请求数据参数连接数据(字符串...键值)添加 个请求数据参数。