直接通过curl方式取得数据、模拟登陆、POST数据

博客园的Markdown编辑器太坑爹了@!!! 算了。不用格式了!!!

/********************** curl 系列 ***********************/
//直接通过curl方式取得数据(包含POST、HEADER等)
/*
* $url: 如果非数组,则为http;如是数组,则为https
* $header: 头文件
* $post: post方式提交 array形式
* $cookies: 0默认无cookie,1为设置,2为获取
*/
public function curl_allinfo($urls, $header = FALSE, $post = FALSE, $cookies = 0) {
$url = is_array($urls) ? $urls[‘0‘] : $urls;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//带header方式提交
if($header != FALSE){
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
}

//post提交方式
if($post != FALSE){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}

if($cookies == 1){
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookiefile");
}else if($cookies == 2){
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookiefile");
}

if(is_array($urls)){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
}

$data = curl_exec($ch);
curl_close($ch);
return $data;
}


oupag bbs:http://www.oupag.com/bbs/thread-7814-1-1.html
cnblogs:http://www.cnblogs.com/skiy/p/3766330.html

时间: 2024-07-30 20:24:08

直接通过curl方式取得数据、模拟登陆、POST数据的相关文章

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="

网络爬虫模拟登陆获取数据并解析实战(二)

目录 分析要获取的数据 程序的结构 构建封装数据的model 模拟登陆程序并解析数据 结果展示 分析要获取的数据 下面继续实战,写一个模拟登陆获取汽车之家,用户信息的程序.如果大家对模拟登陆获取数据不太了解,建议看完http://blog.csdn.net/qy20115549/article/details/52249232,我写的这篇含有抓包获取人人网数据的案例程序,研究透之后,再来看这个要轻松很多. 首先,大家打开汽车之家这个网站(http://i.autohome.com.cn/7741

22.天眼查cookie模拟登陆采集数据

通过账号登录获取cookies,模拟登录(前提有天眼查账号),会员账号可查看5000家,普通只是100家,同时也要设置一定的反爬措施以防账号被封.拿有权限的账号去获取cookies,去访问页面信息,不过这样呢感觉还是不合适,因为之前也采集过都是避开登录和验证码的问题,因为这些数据只是人家网站让不让你拿,该怎样去拿的问题.这里只是简单地做一下测试,实际采集会遇到各种问题的,这里只是个解题思路仅供参考.不然会被检测如图: # coding:utf-8 import requests from lxm

php curl模拟登陆抓取数据

最近由于项目的需要,需要做数据抓取,也就是用的curl相关的函数库,在这之前还真心没有接触过这么高大上的东西,然后从刚开始到今天才研究curl算是第四天了,写这篇博客记录一下这几天的一个过程,在使用curl模拟登陆抓取数据过程中需要注意的一些事项,以及介绍一款支持跨平台(windows.linux.mac)的抓包软件 charles(这个软件是收费的,但是你不花钱也可以使用) ,想要尽快上手,必须要去熟悉两个东西:http协议.curl的相关参数选项的作用 一.介绍curl 这是curl的维基百

PHP CURL模拟登陆

通过CURL模拟登录并获取数据,一些网站需要权限认证,必须登录网站后,才能有效地抓取网页并采集内容,这就需要curl来设置cookie完成模拟登录网页,php的curl在抓取网页内容方面效率是比较高的,而且支持多线程,而file_get_contents()效率就要稍低些. 模拟登录的代码如下所示: <?php/* 函数login_post(),需要提供一个url地址,一个保存cookie文件,以及post的数据(用户名和密码等信息),注意php自带的http_build_query()函数可以

php中通过curl模拟登陆discuz论坛的实现代码

libcurl同时也支持HTTPS认证.HTTP POST.HTTP PUT. FTP 上传(这个也能通过PHP的FTP扩展完成).HTTP 基于表单的上传.代理.cookies和用户名+密码的认证. php的curl真的是相当好用,网上一搜索相关文章都是关于curl模拟登陆的,很少人提供模拟discuz发贴的源码 <?php $discuz_url = 'http://www.lai18.com/';//论坛地址 $login_url = $discuz_url .'login.php?act

php 模拟登陆(不带验证码)采集数据

这里模拟表单登陆窗口 提交代码部分 1,生成session_id保存到 cookie $login_url = 'http://www.96net.com.cn/Login.php';$cookie_file = dirname(__FILE__)."/pic.cookie"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $login_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_s

php爬虫(curl) 模拟登陆获取cookie,然后使用cookie查看个人中心

<!-- curl的高级使用 --> <?php //模拟登陆获取cookie保存到电脑 header("content-Type: text/html; charset=UTF-8"); /*$cookie_file = tempnam('d:/', 'cookie');*/ $cookie_file = 'd:/demo.txt'; $login_url="http://www.php-z.com/member.php?mod=logging&a

爬虫模拟登陆之formdata表单数据

首先HTTP协议是个无连接的协议,浏览器和服务器之间是以循环往复的请求回复来交互的,交互的形式是以文件形式来进行的.比如在chrome开发者工具network中看到了 每一行是一个文件,又文件大小啊,文件类型啊,比如脚本,图片等. 根据协议,把每个文件的内容按照协议格式填入HTTP数据协议结构,其中,对于爬虫模拟登陆来说最重要的是表单数据formdata这个字段 在这我们看到又loginname字段,又password字段,我们看到这都是明码,所以做了遮挡.我们得到了这个,就可以根据字段名称自己