来自 Android 应用程序的 HTTP POST 请求在域上被拒绝但可以使用 IP 地址工作
HTTP POST request from Android App denied on Domain but works using IP address
我正在尝试从我的 Android 应用向我的网络托管服务器上的 PHP 文件发送 HTTP POST 请求。
该请求包含来自应用程序的数据并在服务器上进行验证或保存,然后 PHP 文件发送 JSON 响应,该响应由 Android 设备接收,并且相应地采取行动,如登录或注册等。
现在出现的问题是,直到现在我还没有付费域,而只有托管服务。该托管服务给了我一个服务器 IP 地址来访问我上传的 Index.php 文件。
所以在我的 Android 代码中我写了 url 连接为 http://10x.xxx.xx.xx/index.php/
并且请求和响应工作正常。
现在我已经从 Godaddy.com 购买了一个域名,我将该域名转发到我拥有的服务器 IP,当我在浏览器中打开它时,它工作得很好。因此,我将 Android 代码中发送请求的 ip 更改为 http://www.sampleurl.com/index.php/
这是我的 index.php 文件
if (isset($_POST['tag']) && $_POST['tag'] != '') {
// get tag
$tag = $_POST['tag'];
//do other authorization stuff
}
else
echo "Access Denied";
现在的问题是,当我使用服务器 IP 地址进行连接时,它会进入 if 块并正常运行。但是当我使用域名时,它总是 returns 拒绝访问。
Logcat显示:
03-18 02:59:08.780: E/JSON(30892): Access Deniedn
03-18 02:59:08.780: E/JSON Parser(30892): Error parsing data org.json.JSONException: Value Access of type java.lang.String cannot be converted to JSONObject
03-18 02:59:08.780: W/System.err(30892): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.json.JSONObject.getString(java.lang.String)' on a null object reference
现在我不知道 'Access denied' 之后是如何附加一个字母 'n' 的,也不知道为什么请求没有被正确处理。
P.S。我使用转发而不是更新域中的 NS。这可能是导致问题的原因吗?
随着 DNS 配置为转发,您的 post-请求丢失了。检查您的服务器日志。您需要将其设置为 type A
记录。
我正在尝试从我的 Android 应用向我的网络托管服务器上的 PHP 文件发送 HTTP POST 请求。
该请求包含来自应用程序的数据并在服务器上进行验证或保存,然后 PHP 文件发送 JSON 响应,该响应由 Android 设备接收,并且相应地采取行动,如登录或注册等。
现在出现的问题是,直到现在我还没有付费域,而只有托管服务。该托管服务给了我一个服务器 IP 地址来访问我上传的 Index.php 文件。
所以在我的 Android 代码中我写了 url 连接为 http://10x.xxx.xx.xx/index.php/ 并且请求和响应工作正常。
现在我已经从 Godaddy.com 购买了一个域名,我将该域名转发到我拥有的服务器 IP,当我在浏览器中打开它时,它工作得很好。因此,我将 Android 代码中发送请求的 ip 更改为 http://www.sampleurl.com/index.php/
这是我的 index.php 文件
if (isset($_POST['tag']) && $_POST['tag'] != '') {
// get tag
$tag = $_POST['tag'];
//do other authorization stuff
}
else
echo "Access Denied";
现在的问题是,当我使用服务器 IP 地址进行连接时,它会进入 if 块并正常运行。但是当我使用域名时,它总是 returns 拒绝访问。
Logcat显示:
03-18 02:59:08.780: E/JSON(30892): Access Deniedn
03-18 02:59:08.780: E/JSON Parser(30892): Error parsing data org.json.JSONException: Value Access of type java.lang.String cannot be converted to JSONObject
03-18 02:59:08.780: W/System.err(30892): java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String org.json.JSONObject.getString(java.lang.String)' on a null object reference
现在我不知道 'Access denied' 之后是如何附加一个字母 'n' 的,也不知道为什么请求没有被正确处理。
P.S。我使用转发而不是更新域中的 NS。这可能是导致问题的原因吗?
随着 DNS 配置为转发,您的 post-请求丢失了。检查您的服务器日志。您需要将其设置为 type A
记录。