gpt4 book ai didi

java - 使用 JAVA (libGdx) 的 HttpRequest 并使用 PHP 进行处理

转载 作者:行者123 更新时间:2023-11-29 08:50:53 31 4
gpt4 key购买 nike

我真的需要一些帮助。我正在使用 libGDX 学习 HttpRequest,但我一直坚持使用 setContent();这是我要运行的 Java 代码。它工作正常,除了一个小问题:它不会将变量“name”和“score”发送到 httptest.php 文件。然而,php 文件正常运行,将空值插入数据库。Eclipse 甚至以空名称和 0 分向我显示成功的结果:

Status code : 200
Result : connected succesfully inserted and his score: 0

所以看起来这两个程序在通信,只是 java 不向 php 发送数据。我的想法用完了,不知道该怎么做。

java代码:

 Map<String, String> parameters = new HashMap<String, String>();
parameters.put("name", "testname1");
parameters.put("score", "56");
HttpRequest request = new HttpRequest(HttpMethods.POST);
request.setUrl("www.myurl.com/httptest.php");

request.setContent(HttpParametersUtils.convertHttpParameters(parameters));
// request.setContent("name=testname&score=10");

Gdx.net.sendHttpRequest(request, new HttpResponseListener() {
@Override
public void handleHttpResponse(HttpResponse httpResponse) {
Gdx.app.log("Status code ", "" + httpResponse.getStatus().getStatusCode());
Gdx.app.log("Result ", httpResponse.getResultAsString());
}
@Override
public void failed(Throwable t) {
Gdx.app.log("Failed ", t.getMessage());
}
});

PHP代码:

<?php
$name=$_POST["name"];
$scoreget=$_POST["score"];
$score=(int)$scoreget;
if (is_int ($score))
{
// Create connection
$con=mysqli_connect($mycon);

// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else{echo"connected ";}

$sql= "INSERT INTO scores (name, score, text) VALUES ('$name', '$score','')";
if (!mysqli_query($con, $sql))
{
die('Error: ' . mysqli_error($con));
}else{
echo "succesfully inserted ".$name." and his score: ".$score;
}
}else{
echo "Invalid numeric type";
}
?>

我还用这个表单测试了 httptest.php,它工作正常:

<html> 
<body>
<form action="httptest.php" method="post">
Name: <input type="text" name="name"><br>
Score: <input type="text" name="score"><br>
<input type="submit">
</form>
</body>
</html>

最佳答案

如果您在请求中正确设置 Content-Type header 是否有帮助?

request.setHeader("Content-Type", "application/x-www-form-urlencoded");

我想知道除非存在正确的内容类型,否则 PHP 是否不会在 POST 正文中分割参数。

关于java - 使用 JAVA (libGdx) 的 HttpRequest 并使用 PHP 进行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22770570/

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