不指定认证被在远程端使用哪种类型的,因此,我要做出一些猜测和假设:
基本HTTP认证
如果“Basic HTTP Authentication”被使用(这将显示在浏览器弹出请求领域的用户名/密码),你可以制定你的请求URL如下:
http://username:[email protected]/file.name?parameter=x
其中:
username
是实际知道的用户名
password
的实际密码
host.name
远程服务器的地址,
file.name
你想PHP文件访问
- 可选:
parameter=x
从PHP文件获得所需输出所需的任何已知参数
PHP认证
如果实际的认证过程是由PHP页面本身做这是一个不同的故事。在这种情况下,这一切都取决于PHP脚本使用哪些变量来执行身份验证,具体是哪个类型的参数为。通常使用GET
或POST
(或者如果使用REQUEST
,则两者都可以使用)。
无论使用哪种方式,您都必须知道正在使用的参数的名称。下面的例子我将假设user
和pass
。
在PHP脚本,这些看起来像$_GET['user']
,$_POST['user']
,$_REQUEST['user']
或者干脆$user
如果危险register_globals在php.ini
设置。
在GET
或REQUEST
情况:
http://host.name/file.name?user=username&pass=password¶meter=x
在POST
情况:使用JavaScript
是可能的POST
值。 This SO answer gives a working examle.
别的
如果使用任何其它方法(并有大量的其他人),更具体的信息是必需的,以确定确切方法和工作溶液。
Thanks @Remco - 我不确定使用了什么类型的身份验证。我尝试了您描述的两种方法,但仍然弹出询问用户名和密码的提示。第一种方法首先告诉我,我试图登录到不需要身份验证的站点。这可能是因为域本身不需要认证,但PHP页面呢? – Brian 2012-07-18 14:31:29