Я использую приведенный ниже код для выполнения HTTP-запроса POST к серверу с типом контента application/zip
и multipart/form-data
с использованием io.github.http-builder-ng.http-plugin
. (Один из примеров общего доступа здесь )
plugins {
id "io.github.http-builder-ng.http-plugin" version "0.1.1"
}
import groovyx.net.http.ApacheEncoders
import groovyx.net.http.*
import groovyx.net.http.HttpConfigs.BasicHttpConfig
import groovyx.net.http.OkHttpBuilder.OkHttpToServer
import static groovyx.net.http.MultipartContent.multipart
File msFile =new File("C:\\GradlePOC\\POC_1\\btest.zip");
OkHttpBuilder.configure {
request.uri = 'https://example.com'
request.auth.basic 'ABC', 'XXXXX'
request.encoder('application/zip'){ BasicHttpConfig config, OkHttpToServer req->
req.toServer(new FileInputStream(
msFile
))
}
}.post {
request.uri.path = '/application/applications/3547/binaries'
request.contentType = 'multipart/form-data'
request.body = multipart {
field 'name', 'data'
part 'filename', 'btest.zip', 'application/zip', msFile
}
request.encoder 'multipart/form-data', OkHttpBuilder.&multipart
}
Но приведенный выше код не работает для меня.Любая помощь будет высоко ценится.