0

我正在尝试通过将用户名和密码传递到代码中来访问 https 站点,但是,由于“浏览器缓存问题”,该网站拒绝我访问,有人可以帮忙吗?这是代码:

$client = new Zend_Http_Client();

$client->setUri('https://www.example.com');
$client->setParameterPost(array(
    'username' => 'username',
    'password' => 'password'
));


$client->request(Zend_Http_Client::POST);
$response = $client->request();

echo $response->getBody();
4

2 回答 2

1

为什么要打$client->request()两次电话?你可能应该称之为一个。

此外,原因可能特定于站点(您没有指定它是哪个站点)。例如,许多站点实施某种 CSRF 保护令牌或其他安全措施,这将要求您首先获取登录页面,从中获取一些隐藏字段值并在登录 POST 请求中重新发送。这很典型,我建议您使用 Chrome 开发人员工具、Firebug 或类似工具从浏览器手动提交登录表单,并检查登录时除了用户名和密码之外还发送了哪些其他表单值。

于 2013-08-06T16:34:18.657 回答
0

我解决了这个问题,代码应该可以工作,但该站点有一个安全哈希,阻止我以这种方式访问​​它。

于 2013-08-16T05:27:10.600 回答