Dns 来自Android应用程序的HTTP POST请求在域上被拒绝,但使用IP地址‏;

Dns 来自Android应用程序的HTTP POST请求在域上被拒绝,但使用IP地址‏;,dns,hosting,Dns,Hosting,我正在尝试从Android应用程序向web托管服务器上的PHP文件发送HTTP POST请求 该请求包含来自应用程序的数据,并在服务器上进行验证或保存,然后PHP文件发送一个JSON响应,该响应由Android设备接收,并相应地采取行动,如登录或注册等 现在出现的问题是,到目前为止,我没有一个付费域名,而只有一个托管服务。那个托管服务给了我一个服务器IP地址来访问我上传的Index.php文件 因此,在我的Android代码中,我编写了要连接的url 请求和响应完全正常 现在我已经从Godadd

我正在尝试从Android应用程序向web托管服务器上的PHP文件发送HTTP POST请求

该请求包含来自应用程序的数据,并在服务器上进行验证或保存,然后PHP文件发送一个JSON响应,该响应由Android设备接收,并相应地采取行动,如登录或注册等

现在出现的问题是,到目前为止,我没有一个付费域名,而只有一个托管服务。那个托管服务给了我一个服务器IP地址来访问我上传的Index.php文件

因此,在我的Android代码中,我编写了要连接的url 请求和响应完全正常

现在我已经从Godaddy.com购买了一个域名,我正在将该域名转发到我拥有的服务器IP,当我在浏览器中打开它时,它工作得非常好。因此,我在Android代码中将请求发送到的ip改为

这是我的index.php文件

if (isset($_POST['tag']) && $_POST['tag'] != '') {
// get tag
$tag = $_POST['tag'];
//do other authorization stuff
}
else
 echo "Access Denied";
现在的问题是,当我使用服务器Ip地址进行连接时,它会进入if块并正常工作。但当我使用域名时,它总是返回拒绝访问。

日志显示:

    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
现在我不知道如何在“拒绝访问”之后添加字母“n”,也不知道为什么请求没有得到正确的服务


另外,我使用了转发,而不是在域中更新NS。这可能是问题的根源吗

由于DNS被配置为转发,您的post请求丢失。检查服务器日志。您需要将其设置为
类型a
记录。

您可以在生成请求的地方共享Android代码吗?您的logcat会打印服务器回复,并在尝试将
拒绝访问
解释为JSON时崩溃。不知道如何解释你的最后一句话“现在我不……”。嗯,等待你的回答,但我真正想知道的是,你的android是否真的发出了
post
put
get
请求。您可能会通过php或在您的服务器日志中发现这一点。@Giszmo我在我的域中使用了转发,而不是使用名称服务器。这可能是一个原因吗?检查你的服务器日志,你会看到什么到达你的服务器,但转发听起来是错误的。它可能是一个
记录。