php 模拟客户端访问,PHP通过伪造和模拟客户端COOKIE登陆来采集抓取远程网址
平时开发中经常会遇到抓取某个页面内容,但是有时候某些页面需要登陆才能访问,最常见的就是论坛,这时候我们需要来使用curl模拟登陆。
以下讨论的是和伪造模拟客户端COOKIE登陆采集抓取远程网址相关的PHP通过伪造和模拟客户端COOKIE登陆来采集抓取远程网址页面内容的方法教程文章,内容是本站精心挑选整理的教程,希望对广大的网友给到帮助,下面是详细内容:
php模拟登陆
平时开发中经常会遇到抓取某个页面内容,但是有时候某些页面需要登陆才能访问,最常见的就是论坛,这时候我们需要来使用curl模拟登陆。大致思路:需要先请求提取cookies并保存,然后利用保存下来的这个cookies再次发送请求来获取页面内容,下面我们直接上代码
<?php
/**
* Brief PHP读取Curl模拟登陆,获取cookie,带cookie进行请求
* Date:2016/10/20
* Time:9:41
*/
//设置cookie保存位置
$cookieFile=dirname(__FILE__).‘cookie.curl.tmp‘;
//第一步:获取cookie
$url=‘https://www.hfxskyyj.com/;
$data=array(
‘username‘=>‘aseoe‘,
‘password‘=>‘aseoe‘,
);
//curl初始化
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
//设置为post请求
curl_setopt($ch,CURLOPT_POST,true);
//设置附带返回header信息为空
curl_setopt($ch,CURLOPT_HEADER,0);
//post数据
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
//cookie保存文件位置
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookieFile);
//设置数据返回作为变量储存,而不是直接输出
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
//执行请求
$ret=curl_exec($ch);
//关闭连接
curl_close($ch);
//第二步:附带cookie请求需要登陆的页面
$url=‘https://www.hfxskyyj.com/‘;
//curl初始化
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
//设置为post请求
curl_setopt($ch,CURLOPT_POST,true);
//设置附带返回header信息为空
curl_setopt($ch,CURLOPT_HEADER,0);
//设置cookie信息文件位置,注意与第二步中的获取不同,这里是读取
curl_setopt($ch,CURLOPT_COOKIEFILE,$cookieFile);
//设置数据返回作为变量储存,而不是直接输出
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
//执行请求
$ret=curl_exec($ch);
//关闭连接
curl_close($ch);
//打印抓取内容
var_dump($ret);
这样我们就抓取到了需要登陆才能访问页面的内容,注意上面的地址只是一个示例,需要换成你想要抓取页面的地址。
平时开发中经常会遇到抓取某个页面内容,但是有时候某些页面需要登陆才能访问,最常见的就是论坛,这时候我们需要来使用curl模拟登陆。大致思路:需要先请求提取cookies并保存,然后利用保存下来
php 模拟客户端访问,PHP通过伪造和模拟客户端COOKIE登陆来采集抓取远程网址相关推荐
- 分享:Python使用cookielib和urllib2模拟登陆新浪微博并抓取数据
Python使用cookielib和urllib2模拟登陆新浪微博并抓取数据 http://my.oschina.net/leopardsaga/blog/94774
- Teardrop攻击--伪造虚假的IP数据包发送并抓取及完成简易静态网页
目录 Teardrop攻击--伪造虚假的IP数据包发送并抓取 一.相关介绍 1.IP协议 2.Teardrop攻击 二.编写Teardrop程序(伪造一个虚假地址的IP包) 三.参考链接 完成简易静态 ...
- Scrapy 模拟登陆知乎--抓取热点话题
工具准备 在开始之前,请确保 scrpay 正确安装,手头有一款简洁而强大的浏览器, 若是你有使用 postman 那就更好了. Python 1 scrapy genspider zhihu 使用以 ...
- pythonurllib微博登录怎么删_Python使用cookielib和urllib2模拟登陆新浪微博并抓取数据...
我们都知道HTTP是无连接的状态协议,但是客户端和服务器端需要保持一些相互信息,比如cookie,有了cookie,服务器才能知道刚才是这个用户登录了网站,才会给予客户端访问一些页面的权限. 用浏览器 ...
- 微博登录记录pythonurllib_Python使用cookielib和urllib2模拟登陆新浪微博并抓取数据...
我们都知道HTTP是无连接的状态协议,但是客户端和服务器端需要保持一些相互信息,比如cookie,有了cookie,服务器才能知道刚才是这个用户登录了网站,才会给予客户端访问一些页面的权限. 用浏览器 ...
- python–爬虫–模拟登录全面介绍和简例–以抓取雅卓app为例
转载请注明出处:python–爬虫–模拟登录全面介绍和简例–以抓取雅卓app为例 我们在前面的文章中已经学习了如果使用python进行数据抓取. 但我们常常会遇到一种场景,就是想要获取的页面内容或者接 ...
- Android登录客户端,验证码的获取,网页数据抓取与解析,HttpWatch基本使用
大家好,我是M1ko.在互联网时代的今天,如果一个App不接入互联网,那么这个App一定不会有长时间的生命周期,因此Android网络编程是每一个Android开发者必备的技能,博主是在校大学生,自学 ...
- firefox伪造请求头信息,模拟手机访问网站
大概有两年没有去过chinaz的论坛了,昨天上去逛了逛.正好看到一个朋友在问百度是如何判断是不是手机登录的.有几个热心朋友回答的是js,我把百度首页的js看了下,没有找到一丝的手持设备判断的信息,我也 ...
- Exchange Server 2007客户端访问协议部署SSL
安全套接字层是用来加密客户端和服务器之间通讯的一种方法.Microsoft Exchange Server 2007 能够为所有的客户端访问协议部署SSL.这些协议包括Microsoft Exchan ...
最新文章
- c语言error c4430,error C4430: 缺少类型说明符 - 假定为 int。 异常怎么解决
- docker 部署springboot容器日志处理
- tensorflow4 代价函数、dropout、优化器
- 如何写一个pyton模块
- Glibc 和 uClibc的区别
- WPF教程尝试(修正部分格式)
- bzoj 4953: [Wf2017]Posterize(DP)
- 无法将多信息文本转换为url_实体链接:信息抽取中的NLP的基础任务
- Mac配置FileZilla
- http://www.oreilly.com/catalog/errataunconfirmed.csp?isbn=9780596529321
- XMPP聊天环境配置
- [poj1325] Machine Schedule (二分图最小点覆盖)
- 设计一函数,求整数区间[a,b]和[c,d]的交集
- 2022年计算机二级考试C语言程序设计冲刺题及答案
- 乐优商城服务器部署_黑马乐优商城项目总结
- W5500连不上的问题
- html什么是一级标题,一级标题是什么(论文一二三级标题范本)
- 【文献阅读】Optimistic Bull or Pessimistic Bear: Adaptive Deep Reinforcement Learning for Stock Portfolio
- ..NET程序破解仅需三步
- html5怎能编写播放器代码,HTML5应用-实现简单播放器的示例代码分享
热门文章
- 随想录(lcc编译器)
- 一步一步写算法(之“数星星”)
- python抓包教程_Python Charles抓包配置实现流程图解
- C语言 Linux版俄罗斯方块,C语言版——俄罗斯方块(一)
- 精通php7,PHP 7从入门到精通
- vb把窗体嵌入桌面底层_桌面透明便签插件便签软件
- python作者 es6_es6之js的类
- java aop管理权限_基于spring aop 权限管理系统原型 - andyj2ee - BlogJava
- python 语句执行顺序_一个针对 Python 语句执行顺序的练习
- 核fisher matlab,使用Fisher法matlab结合P值?