小蚂蚁学cURL笔记(1)——cURL模拟登陆其他网站以及下载个人中心

登陆第三方网站必须要做的一步就是保存cookie,这样才能登陆第三方网站。cookie是用于保存网站登陆信息的工具和媒介,先要将cookie保存才能做后续开发。

<?php
    //准备登陆的字段和值
    $data="username=abc&password=123&remember=1";
    //初始化curl
    $curlobj=curl_init();
    //准备登陆页的url,就给慕课做个广告吧O(∩_∩)O哈哈~
    curl_setopt($curlobj,CURLOPT_URL,);
    //执行程序之后不打印网页
    curl_setopt($curlobj,CURLOPT_RETURNTRANSFER,1);
    
    //准备cookie的设置
    //因为session、cookie有过期时间,所以需要设置时间
    date_default_timezone_set(‘PRC‘);
    //开启cookie设置
    curl_setopt($curlobj,CURLOPT_COOKIESESSION,1);
    //设置将cookie数据保存的文件名
    curl_setopt($curlobj,CURLOPT_COOKIEFILE,‘cookiefile‘);
    //连接结束后保存cookie信息的文件
    curl_setopt($curlobj,CURLOPT_COOKIEJAR,‘cookiefile‘);
    //设置cookie的值
    curl_setopt($curlobj,CURLOPT_COOKIE,session_name().‘=‘.session_id);
    //不打印出头部信息
    curl_setopt($curlobj,CURLOPT_HEADER,0);
    //支持登陆成功后的页面跳转
    curl_setopt($curlobj,CURLOPT_FOLLOWLOCATION,1);
    
    //设施post提交的方法
    //开启post提交
    curl_setopt($curlobj,CURLOPT_POST,1);
    //设置post的提交参数
    curl_setopt($curlobj,CURLOPT_POSTFIELDS,$data);
    //设置头字段数组
    curl_setopt($curlobj,CURLOPT_HTTPHEADER,array(
        "application/x-www-form-urlencoded;charset=utf-8",
        "content-length:".strlen($data)
    ));
    //提交获取cookie
    curl_exec($curlobj);
    
    //设置个人中心的url
    curl_setopt($curlobj,CURLOPT_URL,);
    //关闭post提交设置
    curl_setopt($curlobj,CURLOPT_POST,0);
    //设置http头字段的数组
    curl_setopt($curlobj,CURLOPT_HTTPHEADER,array(
        "content-type:text/xml"
    ));    
    //开始执行
    $str=curl_exec($curlobj);
    //关闭curl
    curl_close();
    //输出
    echo $str;  
?>

整个流程就走完了,其中模拟用户登录最关键的就是cookie的设置,以及post提交的设置。这两部分非常关键。

时间: 2024-10-05 08:51:37

小蚂蚁学cURL笔记(1)——cURL模拟登陆其他网站以及下载个人中心的相关文章

小蚂蚁学memcache笔记—php操作memcache(2)

上篇在学习$mem->set();的时候少写了一个参数,第三个参数,MEMCACHE_COMPRESSED,这个参数的作用在于压缩. memcache是独立机构,是C/S结构.如果memcache满了,LRU算法删除,把最早没有访问过的拿掉. memcache的分布式  这里是重点 在第二部中将connect这个方法改成addserver(),在链接池中添加了一个memcache服务器. 例如 : $mem    ->    new Memcache(); $mem    ->    a

小蚂蚁学memcache笔记(完结)

memcache安全讨论 memcache和session的比较 memcache主要目的用于提速,因此它是一种无状态的数据,即数据不会和任何用户绑定. session数据是和用户绑定的,因此是一种有状态的数据. memcache应该放入到内网,用防火墙阻止外网对11211端口的访问.坚决不能放到外网去. 在linux下也可以使用防火墙 setup 配置防火墙 iptables    -a input -p tcp -s 127.0.0.1 -d port 11211 -j ACCEPT    

小蚂蚁学memcache笔记—php操作memcache(1)

准备工作 把php_memcache.dll文件拷贝到php的ext下. 特别说明:不同版本php所用的php_memcache.dll版本不同. 修改php.ini文件,加载php_memcache.dll(这个文件其实就是加载了一大堆的函数) 重启apache php实际操作 $mem    =    new Memcache();    //实例化对象 $mem    =    connect('127.0.0.1',11211); $mem    ->    add(键,值,是否压缩,生

小蚂蚁学memcache笔记(1)准备工作以及telnet操作memcache的curd

memcache的应用条件 1.频繁变化的数据.2.丢了也无所谓的数据. 形式: 减值对的形式储存.  key   ->   value value可以储存的类型:1.字符串 2.数值 3.数组 4.对象 5.布尔 6.二进制数据(图片.视频) 安装步骤: 下载 memcache 安装进入cmd,切换到所在目录   使用命令  memcache.exe  -d  install 启动    memcached.exe -d start 使用 netstat  -an 查看11211端口如果被监听

PHP实现curl和snoopy类模拟登陆方法

Snoopy.class.php下载 方法/步骤 第一种:使用snoopy类实现模拟登陆 1.在网上下载一个Snoopy.class.php的文件   2.代码实现: <?php set_time_limit(0); require "Snoopy.class.php"; $snoopy=new Snoopy(); $snoopy->referer='你要模拟登陆的域名';//例如:http://www.baidu.com/ $snoopy->agent="

模拟登陆 12306网站

目录 模拟登陆 12306网站 准备 需求分析 实现代码 原文地址:https://www.cnblogs.com/guokaifeng/p/11695389.html

通过抓包,实现Python模拟登陆各网站,原理分析!

一.教程简介 1.1 基本介绍 通过分析登陆流程并使用 Python 实现模拟登陆到一个实验提供的网站,在实验过程中将学习并实践 Python 的网络编程,Python 实现模拟登陆的方法,使用 Firefox 抓包分析插件分析网络数据包等知识. 模拟登录可以帮助用户自动化完成很多操作,在不同场合下有不同的用处,无论是自动化一些日常的繁琐操作还是用于爬虫都是一项很实用的技能.本课程通过 Firefox 和 Python 来实现,环境要求如下: Python 库:urllib, http.cook

小蚂蚁学cURL笔记(1)

cURL的作用:网络上的所有资源都可以用cURL访问和下载. 如何在window下确认是否支持cURL.cmd-->输入命令 php -i    通过搜索找到curl 在linux下的检测方法. 输入命令行   php -i | grep curl (使用管道符过滤) curl的运行步骤  1  初始化 curl_init();  2. 发送请求和接受请求 curl_exec()  3.关闭curl_close(); 小案例1:从网络上下载一个网页,把内容中的"百度"替换成&qu

小蚂蚁学cURL笔记(3)——cURL对Ftp服务器的操作

对ftp服务器的下载操作方法. 内容很简单,就是几个设置,直接上代码. //初始化 $curlobj=curl_init();  //文件的准确路径url curl_setopt($curlobj,CURLOPT_URL,"http://......"); //不输出head头文件 curl_setopt($curlobj,CURLOPT_HEADER,0); //执行后不打印 curl_setopt($curlobj,CURLOPT_RETURNTRANSFER,1); //重点来了