gpt4 book ai didi

java - 在 libGDX 中发送 POST 请求

转载 作者:行者123 更新时间:2023-12-02 11:37:08 25 4
gpt4 key购买 nike

我如何使用 libGDX 发送 POST 请求,以便表现得就像我正在登录一样?

当我使用 Postman 使用 IP:8080/login?email=EMAIL&password=12345 向我的服务器发送 POST 请求时。登录后,它会显示正确页面的 HTML 代码。然而,当在 libGDX 中使用以下代码时,它给了我主登录页面。我尝试过使用带或不带 ? 的 setContent。我尝试过使用包含电子邮件和密码的映射,并使用 HttpParametersUtils.convertHttpParameters() 将其传递到 setContent 中,但没有成功。

我还读过一篇关于使用 Java 发送 POST 请求的文章,该文章要求您在传递参数之前先打开连接。但如果是这种情况,我不知道如何使用 libGDX 网络方法来实现它。

这就是我目前所拥有的。

 String URL = "http://IP:8080/login";
Net.HttpRequest httpPOST = new Net.HttpRequest(Net.HttpMethods.POST);
httpPOST.setUrl(URL);
httpPOST.setContent("?email=EMAIL&password=12345");

Gdx.net.sendHttpRequest(httpPOST, new Net.HttpResponseListener() {
@Override
public void handleHttpResponse(Net.HttpResponse httpResponse) {
Gdx.app.log("MSG", httpResponse.getResultAsString());
}

@Override
public void failed(Throwable t) {
Gdx.app.log("LOGIN", "was NOT successful!");
}

@Override
public void cancelled() {
Gdx.app.log("LOGIN", "was cancelled!");
}
});

最佳答案

您的内容的构建就像您发送 GET 请求而不是 POST 请求一样。对你来说最简单的方法就是改变Net.HttpMethods.POSTNet.HttpMethods.GET。然后,您仍然将数据发送到服务器,但是是在 URL 中。如果你想通过 http body 发送它,你必须使用 POST。但随后您必须通过删除问号(“?”)来删除 GET 语法。

关于 POST 和 GET 之间差异的一个很好的资源是:https://www.w3schools.com/tags/ref_httpmethods.asp

关于java - 在 libGDX 中发送 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48846981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com