当前位置:网站首页>PHP利用CURL实现登录网站后下载Excel文件

PHP利用CURL实现登录网站后下载Excel文件

2022-06-28 23:21:00 supramolecular

 PHP利用curl实现登录,保存cookie到文件

<?php

header("Content-Type:text/html;charset=utf-8");

$curl = curl_init();
//$cookie_jar = tempnam('./tmp','cookie'); //tempnam--建立一个具有唯一文件名的文件
curl_setopt($curl, CURLOPT_URL,'https://www.baidu.com');//这里写上处理登录的界面
curl_setopt($curl, CURLOPT_POST, 1); //post提交数据
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER , 0); //post提交数据
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST , 0); //post提交数据
$request = 'name=****&password=*****';
curl_setopt($curl, CURLOPT_POSTFIELDS, $request);//传递数据
curl_setopt($curl, CURLOPT_COOKIEJAR, "a.txt");//把返回来的cookie信息保存在$cookie_jar文件中
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//设定返回的数据是否自动显示
curl_setopt($curl, CURLOPT_HEADER, false);//设定是否显示头信息
curl_setopt($curl, CURLOPT_NOBODY, false);//设定是否输出页面内容
curl_exec($curl);//返回结果
if(curl_exec($curl) === false)
{
    echo 'Curl error: ' . curl_error($curl);
}
else
{
    echo '操作完成没有任何错误';
}

curl_close($curl); //关闭*/

PHP利用cookie文件实现需要登录的情况下get下载EXcel

<?php
header("Content-Type:text/html;charset=utf-8");
$cookie_jar = dirname(__FILE__) . "/a.txt"; //保存的cookie信息文件路径
$url = "https://www.baidu.com/filepath";
$arr = curl_get($url, $cookie_jar);


/**
 *curl post请求
 */
function curl_post($url, $data, $cookie_jar)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_jar);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    $return = curl_exec($ch);
    curl_close($ch);
}

/**
 *curl get请求
 */
function curl_get($url, $cookie_jar)
{
    $curl2 = curl_init();
    curl_setopt($curl2, CURLOPT_URL, $url);//登陆后要从哪个页面获取信息
    curl_setopt($curl2, CURLOPT_HEADER, false);
    curl_setopt($curl2, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl2, CURLOPT_SSL_VERIFYPEER , 0); //post提交数据
    curl_setopt($curl2, CURLOPT_SSL_VERIFYHOST , 0); //post提交数据
    curl_setopt($curl2, CURLOPT_COOKIEFILE, $cookie_jar);
    $content = curl_exec($curl2);
    file_put_contents("a.xlsx", $content);
    if(curl_exec($curl2) === false)
    {
        echo 'Curl error: ' . curl_error($curl2);
    }
    else
    {
        echo '操作完成没有任何错误';
    }
    curl_close($curl2);

}

 

原网站

版权声明
本文为[supramolecular]所创,转载请带上原文链接,感谢
https://blog.csdn.net/supramolecular/article/details/104346444