如何登录到远程站点,并在php中下载报告
我正在尝试登录到远程站点,然后在登录成功后重定向到新页面。在该页面上,我想从几个下拉列表(包括一个日期范围)中进行选择,然后生成一个报告 现在,我有一个脚本可以登录到该站点,但我不知道如何遍历下拉列表。有什么建议吗如何登录到远程站点,并在php中下载报告,php,curl,Php,Curl,我正在尝试登录到远程站点,然后在登录成功后重定向到新页面。在该页面上,我想从几个下拉列表(包括一个日期范围)中进行选择,然后生成一个报告 现在,我有一个脚本可以登录到该站点,但我不知道如何遍历下拉列表。有什么建议吗 $url = 'example.co.za/login'; $vars = array('username'=>'', 'password'=>''); $login = getUrl($url, 'post', $vars); $remotePage = get
$url = 'example.co.za/login';
$vars = array('username'=>'', 'password'=>'');
$login = getUrl($url, 'post', $vars);
$remotePage = getUrl($remotePageUrl);
function getUrl($login)
{
$ch = curl_init();
if ($method == 'post')
{
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies/cookies.txt');
$buffer = curl_exec($ch);
print_r($buffer3);
curl_close($ch);
return $buffer;
}
以编程方式提交表单时,不需要从下拉列表中“选择”。您可以将其视为任何其他输入字段,并为表单元素传递一个值。但是您应该在下拉列表中传递一个值,因为这是服务器期望接收的 对于这样的下拉列表:
<select name="weekday">
<option value="Sunday">Sunday</option>
<option value="Monday">Monday</option>
<option value="Tuesday">Tuesday</option>
<option value="Wednesday">Wednesday</option>
<option value="Thursday">Thursday</option>
<option value="Friday">Friday</option>
<option value="Saturday">Saturday</option>
</select>
与登录脚本类似,您需要另一个生成报告的curl请求。计算需要哪个请求,使用哪些参数,然后执行。下拉列表的具体问题是什么?
$vars = array("weekday" => "Friday");
curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);