<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>模拟登录测试</title>
</head> <body>
<?php
//curl模拟自动登陆认证
$url = "";
$User_Agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0";
$post_data = "muser=***&passwd=***";
$refer="http://***/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); //设置URL
curl_setopt($ch, CURLOPT_HEADER, true); //设置显示响应头
curl_setopt($ch,CURLOPT_USERAGENT,$User_Agent); //设置代理浏览器
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT,5);//超时处理
curl_setopt($ch,CURLOPT_REFERER,$refer); //设置来源网站
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);//设置重定向
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);//设置参数
$content = curl_exec($ch); $headArr = explode("\r\n", $content); //解析url
foreach ($headArr as $loop) {
//echo htmlspecialchars($loop)."<br />";
if(strpos($loop, "http://***/default.aspx?id=") !== false){//找到Location
$id = trim(substr($loop, 46));
}
if(strpos($loop, "Set-Cookie") !== false){//找到Cookie
$cookie = trim(substr($loop, 12));
}
}
$rurl="****?id=".$id;
echo "edengUrl:<br>".$rurl;
echo "<br />";
echo "setcookie:<br>".$cookie."<br />";
curl_close($ch); //结果处理
$url = $rurl;
$User_Agent="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0";
$refer="http://****/";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); //设置URL
curl_setopt($ch, CURLOPT_COOKIE, $cookie); //设置cookies
curl_setopt($ch,CURLOPT_USERAGENT,$User_Agent); //设置代理浏览器
curl_setopt($ch, CURLOPT_TIMEOUT,5);//超时处理
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_REFERER,$refer); //设置来源网站
$content = curl_exec($ch); //解析html
echo "<br />";
echo "<br />解析:";
echo "<br />";
$content=strip_tags($content);//去除html标签
echo $content;
echo "<br />";
echo "<br />";
$sk=strpos(trim($content), "当前用户")+28;
$name = trim(substr($content,$sk,9));
$arr=explode(" ",$name);
echo $sk."<br />".$arr[0]."<br />"; curl_close($ch); ?>
</body>
</html>

curl模拟自动登陆&采集网页数据的更多相关文章

  1. API例子:用Python驱动Firefox采集网页数据

    1,引言 本文讲解怎样用Python驱动Firefox浏览器写一个简易的网页数据采集器.开源Python即时网络爬虫项目将与Scrapy(基于twisted的异步网络框架)集成,所以本例将使用Scra ...

  2. Java模拟新浪微博登陆抓取数据

    前言:  兄弟们来了来了,最近有人在问如何模拟新浪微博登陆抓取数据,我听后默默地抽了一口老烟,暗暗的对自己说,老汉是时候该你出场了,所以今天有时间就整理整理,浅谈一二. 首先:  要想登陆新浪微博需要 ...

  3. 用js采集网页数据并插入数据库最快的方法

    今天教大家一个快速采集网站数据的方法,因为太晚了,直接上例子,这里以采集易车网的产品数据为例. 思路:利用js获取网页数据并生成sql命令,执行sql命令把采集的数据插入数据库. 1.用谷歌浏览器或者 ...

  4. [PHP自动化-进阶]001.CURL模拟登录并采集数据

    引言:PHP可以通过libcurl实现模拟登录,提交数据,违法乱纪,烧杀抢虐等等事项. 简单说明一下"libcurl",补一下脑: libcurl目前支持http.https.ft ...

  5. PHP Curl模拟登录并抓取数据

    使用PHP的Curl扩展库可以模拟实现登录,并抓取一些需要用户账号登录以后才能查看的数据.具体实现的流程如下(个人总结): 1. 首先需要对相应的登录页面的html源代码进行分析,获得一些必要的信息: ...

  6. 通过curl模拟多线程抓取网页(curl_multi_*)

    curl请求多个url,以前都是使用循环来处理.最近发现可以通过curl_multi_*系列函数来模拟多线程.比对一下,发现如果请求的url只有几个,2种方案耗时差不多,但是url比较多,差距就非常明 ...

  7. cURL模拟POST方法提交XML数据并解析

    php编程中会用到xml格式传送数据,这里演示下php以post形式发送xml,服务器接收,并解析xml的过程! post_xml.php源码: <?php header("Conte ...

  8. csharp:正则表达式采集网页数据

    https://msdn.microsoft.com/zh-cn/library/system.text.regularexpressions.regex(v=vs.110).aspx https:/ ...

  9. 采集网页数据---Using Java

    http://www.cnblogs.com/longwu/archive/2011/12/24/2300110.html 1).学习网页数据采集,首先必不可少的是学习java的正则表达式(Regex ...

随机推荐

  1. 微信H5手指滑动屏蔽微信的默认效果

    我们的H5页面放在微信上时,如果你向上滑动或者向下滑动屏幕时,会发现一些微信的特征,譬如:网页由www.baidu.com提供. 去掉这个微信的特征,代码如下: var f; n.addEventLi ...

  2. IOS下自定义click事件使用alert引发的血案

    使用过iscroll插件的同学都知道iscroll支持自定义事件,即在调用iscroll时参数赋值options.click = true. 接下来定义事件如: $clinicAppoint.on(' ...

  3. js基本数据类型和typeof

    JavaScript数据类型是非常简洁的,它只定义了6中基本数据类型 null:空.无.表示不存在,当为对象的属性赋值为null,表示删除该属性 undefined:未定义.当声明变量却没有赋值时会显 ...

  4. coreos安装

    cloud-config-bootstrap.sh #!/bin/bash cat > "cloud-config.yaml" <<EOF #cloud-conf ...

  5. php 利用ffmpeg将amr转MP3

    原文地址: http://www.jianshu.com/p/895d5568ce70 http://www.cnblogs.com/wanghetao/p/3386311.html http://w ...

  6. 负margin小记

    static元素  margin-top/left负值,元素向指定方向移动,               margin-bottom/right负值,元素不动,后续元素前移 float元素   左浮, ...

  7. javascript的对象 和 JSON 对象?

    关于js和JSON的 一篇 好文章: http://www.68idc.cn/help/makewebs/javascript/20150704416007.html 讲的很好 很易懂 在将javas ...

  8. 配置red hat的ip 自动地址

    三个文件: 需要配置的内容包括: nameserver dns, hostname和gateway, ip地址等等. /etc/resolv.conf中配置dns, 这个也可以在 sysconfig/ ...

  9. Java实验1-文件IO

    目标:掌握Java类的创建,Java  I/O操作,Java集合类的使用等 内容: 王老师非常喜欢读书,为了便于查阅,他每次买书回家后就在笔记本上登记每本书的详细信息(书名.作者.出版社.出版日期.价 ...

  10. seajs的那点事(很坑的事),和本白的一点事(更坑的事)

    在开始之前,偶先吐槽加逗比一下,2天前,CCAV的本白和百度的菊花成功潜入到了携程大楼 然后在没有找到他们运维的情况下,四处乱逛,企图把他们的服务器给root一下,然后再瞎逛之后到了一个很神奇的地方 ...