【问题标题】:Convert a existent http request from javascript to java将现有的 http 请求从 javascript 转换为 java
【发布时间】:2018-09-01 07:57:56
【问题描述】:

所以我有这个 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?提前致谢!

【问题讨论】:

标签: javascript java http post


【解决方案1】:
  • 放弃边界 - 除非您的服务器不兼容 HTTP,否则任何字符串都应该这样做
  • 删除Host 标头,它将由库自动添加
  • 使用.part(String name,String value) 在多部分中添加部分:

你应该得到类似的东西:

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

【讨论】:

  • 谢谢!我会在我再次回家时尝试,但似乎很有希望!谢谢!
  • 我这样做了,但我总是得到 "application/json; charset=utf-8" 作为答案...字符串总是返回...
  • 看起来您正在阅读字符串的错误部分?我建议您使用curl 或 Postman 之类的东西来准确地重放 HTTP 请求,然后尝试将其映射到 Java。
  • 它适用于javascript,所以我认为http请求还可以
【解决方案2】:

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

【讨论】:

  • 我知道,我问过 if 的问题,例如,我如何确定答案是否是错误等......另外,我的主要问题是身体部分
猜你喜欢
  • 1970-01-01
  • 2017-06-25
  • 2020-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多