高分求使用httpclient发出请求返回提示You don't have permission to access /hits on this server.

来源:百度知道 编辑:UC知道 时间:2024/09/24 13:26:20
我在用httpclient GetMethod 发出请求,服务器返回以下信息
Forbidden
You don't have permission to access /hits on this server.

--------------------------------------------------------------------------------

Apache/1.3.29 Server at localhost.localdomain Port 80

通过网页直接打开是可用的,请问有没有什么方法可以让httpclient设置成与浏览器相同的身份去访问URL?
首先感谢,回答者: erznlie. 您给出的答案前提是服务器是我自己的,现在我是要访问别人的服务器,通过网页是好用的,但是用自己的代码访问就会出现权限问题,如何欺骗服务器,让他以为我的代码就是浏览器?
to 回答者: 在我肩头哭泣 ,I can understand this sentence,thank you.

1.在httpd.conf文件中,有这么一段<Directory/> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory>可以尝试把Deny改成Allow,然后重启apache服务,看问题是否解决。

2.在Apache的wiki上有关于PermissionDenied的另一种解决方法,链接是http://wiki.apache.org/httpd/13PermissionDenied,全文翻译如下:(13)Error 13 指的是文件系统的访问权限错误。也就是由于错误的权限,apache被拒绝访问。一般的来说,这并不意味着是Apache配置文件存在错误。

为了给文件提供服务,Apache必须有适当的权限去访问那些文件,这些权限是由操作系统授予的。特别的,在httpd.conf文件中,指出了User或者Group必须能够读取所有被服务的文件,以及查找包含那些文件的目录,和所有的父目录直至文件系统的根。

在对一个unix-like的系统上的不属于User或Group的资源进行访问时,这里的User或Group是在httpd.conf的文件中指定的,典型的访问权限,对于普通的文件是644 -rw-r--r--,对于文件夹或者CGI脚本是755 drwxr-x-r-x。你也可能需要去查看操作系统所支持的扩展的访问权限(例如SELinux访问权限).

You don't have permission to access /hits on this server.
你没有权利登陆这个服务器