Java JSOUP+;多部分/表单数据响应
通常,我需要通过JSOUP以响应多部分/表单数据的形式向站点发送数据 作为一个例子,使用一个简单的表单来实现您的查询Java JSOUP+;多部分/表单数据响应,java,post,jsoup,multipartform-data,Java,Post,Jsoup,Multipartform Data,通常,我需要通过JSOUP以响应多部分/表单数据的形式向站点发送数据 作为一个例子,使用一个简单的表单来实现您的查询 您可以使用第三个参数Connection.data: File file1 = new File("C:/dir/file1.txt"); File file2 = new File("C:/dir/file2.txt"); FileInputStream fs1 = new FileInputStream(file1); FileInputStream fs2 = new Fi
您可以使用第三个参数
Connection.data
:
File file1 = new File("C:/dir/file1.txt");
File file2 = new File("C:/dir/file2.txt");
FileInputStream fs1 = new FileInputStream(file1);
FileInputStream fs2 = new FileInputStream(file2);
Connection.Response response = Jsoup.connect("http://www.example.com")
.data("text", "value")
.data("file1", "filename", fs1)
.data("file2", "filename", fs2)
.userAgent("Mozilla")
.method(Method.POST)
.execute();
//Handle your response...
在JSOUP1.12.1之前,除非表单过帐中包含文件,否则无法自动发送表单边界 从1.12.1开始,当
内容类型
标题设置为“多部分/表单数据”
时,Jsoup可以生成表单边界。自动生成mime边界不再需要在表单数据中添加文件
Document doc = Jsoup.connect(echoUrl)
.header("Content-Type", "multipart/form-data")
.userAgent(browserUa)
.data("uname", "Jsoup", "uname", "Jonathan", "百", "度一下")
.post();
正如您在上面的代码中看到的,没有使用任何文件,但是JSoup将动态处理表单边界,因为内容类型是multipart/formdata
来源:
- 我可以在不附加文件的情况下发送请求后多部分/表单数据
- 通过设置表头允许多部分表单提交;自动添加边界
File file1 = new File("C:/dir/file1.txt");
File file2 = new File("C:/dir/file2.txt");
FileInputStream fs1 = new FileInputStream(file1);
FileInputStream fs2 = new FileInputStream(file2);
Connection.Response response = Jsoup.connect("http://www.example.com")
.data("text", "value")
.data("file1", "filename", fs1)
.data("file2", "filename", fs2)
.userAgent("Mozilla")
.method(Method.POST)
.execute();
//Handle your response...
Document doc = Jsoup.connect(echoUrl)
.header("Content-Type", "multipart/form-data")
.userAgent(browserUa)
.data("uname", "Jsoup", "uname", "Jonathan", "百", "度一下")
.post();