如何访问服务器上托管的PHP文件


How do I access a PHP file hosted on a server?

我有一个安卓应用程序,它连接到托管数据库以获取数据。

在localhost上测试时,一切都很好。

几天前,我将数据库移到了托管服务器上,在尝试运行该应用程序时,它在从数据库获取数据时出错。

错误:

08-19 06:57:28.579: E/JSON Parser(32067): Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject

<!DOCTYPE在数据库中的任何表中都不是一个值(我已经检查并反复检查)。相反,<!DOCTYPE是"index.html"文件中的第一行,该文件也托管在同一服务器上。

该应用程序正在使用的url为:http://ipaddress/filename.php

在阅读网络托管公司提供的文档时,我记得读到过这样一句话:"服务器将index.html视为该目录的主页或默认页面"。基本上,当我键入"www.someaddress.com"或其IP时,它会返回index.html。我猜,当应用程序ping url中提供的IP地址时,会返回index.html文件(这可能吗?)。

问题是,我该如何解决这个问题?有人遇到过同样的问题吗?

提前谢谢。

我解决了这个问题。我的猜测是正确的:index.html文件被返回,json-pasor试图将其转换为jsonobject,因此出现了错误。

但这是由于另一个问题而发生的,我本应该检查一下:

安卓应用程序使用http://ipaddress/filename.php从服务器获取数据。当我尝试在浏览器上使用相同的url时,它返回403 forbidden。我用www.sitename.com/filename.php替换了url,它按预期返回了json响应。

在替换应用程序中的所有URL以匹配www.sitename.com/filename.php而不是http://ipaddress/filename.php之后,它开始正确地获取数据。

出于某种原因,当我在android应用程序中使用http://sitename.com/filename.php时,它也返回了index.html。我不得不用www.替换所有http://才能使其工作。

感谢SteAp的帮助!