禁止访问:无权访问本地主机错误的/***.php

时间:2011-09-09 22:12:19

标签: php android apache http-error


我正在尝试从localhost上的页面读取响应。
我有以下代码:

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://myIpAddress/mySite/myFile.php");

        try {
            // Add your data
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
            nameValuePairs.add(new BasicNameValuePair("send_xml", "true"));
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            // Execute HTTP Post Request
            HttpResponse response = httpclient.execute(httppost);
            InputStream is=response.getEntity().getContent();
            BufferedReader reader = new BufferedReader(new InputStreamReader(is));
            StringBuilder sb = new StringBuilder();
            String line = null;
            try {
                while ((line = reader.readLine()) != null) {
                    sb.append(line + "\n");
                }
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    is.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            Log.e(tag, "response: "+sb.toString());

        } catch (Exception e) {
            Log.e(tag, "error: "+e.toString());
        }


我在logcat中收到以下响应:

09-09 20:56:19.151: ERROR/ca(507): response: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
09-09 20:56:19.151: ERROR/ca(507): <html><head>
09-09 20:56:19.151: ERROR/ca(507): <title>403 Forbidden</title>
09-09 20:56:19.151: ERROR/ca(507): </head><body>
09-09 20:56:19.151: ERROR/ca(507): <h1>Forbidden</h1>
09-09 20:56:19.151: ERROR/ca(507): <p>You don't have permission to access /mySite/myFile.php
09-09 20:56:19.151: ERROR/ca(507): on this server.</p>
09-09 20:56:19.151: ERROR/ca(507): </body></html>

我有PHP 5.3.5,Apache 2.2.17,MySQL 5.5.8。
为什么我无法访问localhost上的文件?
什么是解决方案?
我在mySite文件夹中有一个名为index.html的文件。
谢谢。


编辑:如果我使用localhost / mySite / myFile.php我可以访问它,但如果我使用localhost / mySite / myFile.php我无法访问它。
但我不能使用localhost,因为我使用的是模拟器,localhost / 127.0.0.1返回模拟电话。
希望这会有所帮助。

2 个答案:

答案 0 :(得分:0)

经过一番环顾四周修复它。解决方案'e'here解决了这个问题。
问题是apache服务器最初受到限制。

答案 1 :(得分:0)

好吧,这很容易。例如,如果你想通过chrome或标准的Internet Explorer在你的Android设备上访问test.php文件。

首先保存你的php文件

  

C:/瓦帕/网络/ testfolder

第二次打开

  

瓦帕/别名

目录并创建一个配置文件(对我来说,testfolder.conf)并写入代码:

    <Directory "c:/wamp/www/testfolder/">
  Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Require all granted
    Allow from all
    Allow from all
</Directory>

并保存并关闭。重启wampserver并完成!