将现有的 http 请求从 javascript 转换为 java



所以我有这个javascript函数,我想把它转换为java函数。这是原始函数:

function mailExistsCheck() {
request({
uri: "https://iag.ksmobile.net/1/cgi/is_exist",
method: "POST",
headers: {
'User-Agent': "FBAndroidSDK.0.0.1", DONE
'Accept-Language': "en_US", DONE
'appid': "135301",
'ver': "3.8.20",
'sid': "17DBB0C2B30D01B590B704501A8AC054",
'sig': "lbOfPDrq0kJNvZX8eYZH9c0Mo7o",
'Host': "iag.ksmobile.net",
'Content-Type': "multipart/form-data; boundary=3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f",
'Transfer-Encoding': "chunked",
'Accept-Encoding': "gzip"
},
body: `--3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f
Content-Disposition: form-data; name="cmversion"
38201849
--3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f
Content-Disposition: form-data; name="name"
` + address + `
--3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f`
}, (error, response, body) => {
if (error) {
console.error(error);
}
if (body.indexOf("12018") != -1) {
register();
} else {
console.error(body);
console.error("MAIL EXISTENCE CHECK FAILED!");
process.exit(1);
}
});

我正在使用这个库 http://kevinsawicki.github.io/http-request/来创建 http 请求,到目前为止我有这个:

public static String mailexiste(String address) {
String contentType = HttpRequest.post("https://iag.ksmobile.net/1/cgi/is_exist")
.userAgent("FBAndroidSDK.0.0.1")
.header("Accept-Language", "en_US")
.header("appid", "135301")
.header("ver", "3.8.20")
.header("sid", "17DBB0C2B30D01B590B704501A8AC054")
.header("sig", "lbOfPDrq0kJNvZX8eYZH9c0Mo7o")
.header("Host", "iag.ksmobile.net")
.contentType("multipart/form-data; boundary=3i2ndDfv2rTHiSisAbouNdArYfORhtTPEefj3q2f")
.acceptGzipEncoding()
.contentType(); //Gets response header

return contentType;

我认为我以正确的方式完成了标题,我唯一的问题是我的身体部分有问题。我不理解这些要求中的大多数,因为我现在才刚刚开始学习这个,我想自己做这个程序,但我真的坚持在这一部分。另外,如何在 java 中执行 if?提前感谢!

  • 删除边界 - 除非你的服务器不符合HTTP,否则任何字符串都应该可以
  • 删除Host标头,它将自动由库添加
  • 使用.part(String name,String value)在多部件中添加部件:

你应该得到类似的东西:

.contentType("multipart/form-data")
.part("cmversion", "38201849")
.part(name, address)

if() 在 Java 中与在 JavaScript 中几乎相同。

最新更新