关闭

116. cURL 简介(2)

标签: curl
118人阅读 评论(0) 收藏 举报
分类:

1.登陆 imooc 并抓取个人中心页

<?php

$ch =curl_init();

//用户名和密码
$data ='username=184200157@qq.com&password=密码';

//设置网页访问路径
curl_setopt($ch,CURLOPT_URL,'http://www.imooc.com/passport/user/login ');
//执行后不直接打印出来
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);

//Cookie 相关选项,这部分设置需要在所有会话开始之前设置
//使用 cookie 必须设置时区
date_default_timezone_set('PRC');
curl_setopt($ch,CURLOPT_COOKIESESSION,true);
curl_setopt($ch,CURLOPT_COOKIEFILE,'cookiefile');
curl_setopt($ch,CURLOPT_COOKIEJAR,'cookiefile');
curl_setopt($ch,CURLOPT_COOKIE,session_name().'='.session_id());
curl_setopt($ch,CURLOPT_HEADER,0);
//这样能够让 cURL 支持页面连接跳转
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);

curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
curl_setopt($ch,CURLOPT_HTTPHEADER,array(
    'application/x-www-form-urlencoded;charset=utf-8',
    'Content-length:'.strlen($data)
));

curl_exec($ch);

if (!curl_errno($ch)) {
    //登陆完成后
    curl_setopt($ch,CURLOPT_URL,'http://www.imooc.com/u/2110664/courses');
    curl_setopt($ch,CURLOPT_POST,0);
    curl_setopt($ch,CURLOPT_HTTPHEADER,array(
        'Content-type:text/xml'
    ));

    $content = curl_exec($ch);
    curl_close($ch);
    echo $content;

} else {
    echo 'cURL error : ' . curl_error($ch);
}

这里写图片描述


2.从 FTP 下载文件

<?php


$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,"ftp://192.168.137.1/myftp.txt");
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//设置超时
curl_setopt($ch,CURLOPT_TIMEOUT,300);
//ftp用户名:密码
curl_setopt($ch,CURLOPT_USERPWD,'用户名:密码');

//要保存到本地文件
$outfile = fopen('local.txt','wb');
curl_setopt($ch,CURLOPT_FILE,$outfile);

$rtn = curl_exec($ch);
fclose($outfile);

/*$info = curl_getinfo($ch);
var_dump($info);die;*/

if (!curl_errno($ch)) {
    echo "return : " . $rtn;
} else {
    echo "cURL error : " . curl_error($ch);
}

curl_close($ch);

这里写图片描述
这里写图片描述


3.上传文件到 FTP

<?php

$ch = curl_init();

$localFile = 'test.html';

$fp = fopen($localFile,'r');

curl_setopt($ch,CURLOPT_URL,'ftp://192.168.137.1/upload.txt');
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_TIMEOUT,300);//设置cURL允许执行的最长秒数
curl_setopt($ch,CURLOPT_USERPWD,'用户名:密码');

//声明为上传类型
curl_setopt($ch,CURLOPT_UPLOAD,1);
//指定要上传的文件
curl_setopt($ch,CURLOPT_INFILE,$fp);
//上传文件的大小
curl_setopt($ch,CURLOPT_INFILESIZE,filesize($localFile));
$rtn = curl_exec($ch);
fclose($fp);

if (!curl_errno($ch)) {
    echo "uploaded successfully.";
} else {
    echo 'cURL error : ' . curl_error($ch);
}

curl_close($ch);

这里写图片描述
这里写图片描述


4. 访问 HTTPS 资源

<?php

$ch = curl_init();

//一个 https 站点的资源
$url = 'https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/js/lib/jquery-1.10.2_d88366fd.js';

curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//设置 HTTPS 支持
date_default_timezone_set('PRC');
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//终止从服务器端进行验证
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
$output = curl_exec($ch);
curl_close($ch);
echo $output;

这里写图片描述
这里写图片描述

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:340397次
    • 积分:11340
    • 等级:
    • 排名:第1379名
    • 原创:265篇
    • 转载:602篇
    • 译文:479篇
    • 评论:11条
    最新评论