116. cURL 简介(2)

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值