[英]Sending a POST request in libGDX
我该如何使用libGDX发送POST请求,以便像登录时一样工作?
当我使用Postman使用IP:8080 / login?email = EMAIL&password = 12345将POST请求发送到服务器时。 登录后,它将显示正确页面的HTML代码。 但是,当在libGDX中使用以下代码时,它将为我提供主登录页面。 我尝试使用带有和不带有?的setContent。 我尝试使用包含电子邮件和密码的Map,并使用HttpParametersUtils.convertHttpParameters()将其传递到setContent中,但是没有运气。
我还阅读了有关使用Java发送POST请求的文章,该文章要求您在传入参数之前先打开连接。 但是,在这种情况下,我不知道如何使用libGDXs网络方法进行操作。
这是我目前所拥有的。
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.POST
更改为Net.HttpMethods.GET
。 然后,您仍然在URL中向服务器发送数据。 如果要通过http正文发送,则必须使用POST。 但是随后您必须通过删除问号(“?”)来删除GET语法。
POST和GET之间的区别的一个好资源是: https : //www.w3schools.com/tags/ref_httpmethods.asp
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.