我正在尝试弄清楚如何从需要登录的网站上的表单下载文件。
我可以使用POST和以下代码登录,没有任何问题:
$client = new \GuzzleHttp\Client();
$response = $client->post('http://websitename.com/account/login.php', array(
'body' => array(
'username' => '######',
'password' => '######'
),
'cookies' => true
)
);
$response
引导我成功通过登录页面。
但如果我在使用GET
之后尝试进行$client->get
调用,则会将我带回登录页面。
我如何POST
我的登录信息,然后转到另一个页面exportdata.php
,然后GET
从中获取信息?
答案 0 :(得分:0)
我在使用cookies => true
选项时遇到了一些麻烦。您是否尝试过提供默认CooieJar
?
示例:
$jar = new GuzzleHttp\Cookie\CookieJar();
$default = [
"cookies" => $jar
];
$c = new GuzzleHttp\Client(["defaults" => $default]);
默认情况下,同一个cookie jar设置为该客户端发出的每个请求。