`
haohappy2
  • 浏览: 326254 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

PHP login Curl

阅读更多

分类:程式

<?php
$cookie_file = dirname(__FILE__).”/cookie_”.md5(basename(__FILE__)).”.txt”; // 设置Cookie文件保存路径及文件名

function vlogin($url,$data){ // 模拟登录获取Cookie函数
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
curl_setopt($curl, CURLOPT_COOKIEJAR, $GLOBALS['cookie_file']); // 存放Cookie信息的文件名称
curl_setopt($curl, CURLOPT_COOKIEFILE, $GLOBALS['cookie_file']); // 读取上面所储存的Cookie信息
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
echo ‘Errno’.curl_error($curl);
}
curl_close($curl); // 关闭CURL会话
return $tmpInfo; // 返回数据
}

function vget($url){ // 模拟获取内容函数
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_HTTPGET, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_COOKIEFILE, $GLOBALS['cookie_file']); // 读取上面所储存的Cookie信息
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
echo ‘Errno’.curl_error($curl);
}
curl_close($curl); // 关闭CURL会话
return $tmpInfo; // 返回数据
}

function vpost($url,$data){ // 模拟提交数据函数
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
curl_setopt($curl, CURLOPT_COOKIEFILE, $GLOBALS['cookie_file']); // 读取上面所储存的Cookie信息
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
echo ‘Errno’.curl_error($curl);
}
curl_close($curl); // 关键CURL会话
return $tmpInfo; // 返回数据
}

function delcookie($cookie_file){ // 删除Cookie函数
@unlink($cookie_file); // 执行删除
}

// 使用实例
if(!file_exists($cookie_file)) { // 检测Cookie是否存在
$str = vget(‘http://www.kalvin.cn/?action=login’); // 获取登录随机值
preg_match(“/name=\”formhash\” value=\”(.*?)\”/is”,$str,$hash); // 提取登录随机值
vlogin(‘http://www.kalvin.cn/post.php’,'action=dologin&formhash=’.$hash[1].’&username=aaa&password=bbb&clientcode=ccc’); // 登录获取Cookie
}
echo vget(‘http://www.kalvin.cn/’);
 
分享到:
评论

相关推荐

    php的curl整合类.zip

    在PHP开发中,cURL库是一个非常强大的工具,它允许开发者通过HTTP协议与其他网络协议进行交互,例如FTP、SMTP等。这个"php的curl整合类.zip"文件提供了一个封装好的PHP类,使得开发者可以更方便地利用cURL功能,模拟...

    php curl 自动微博登陆

    curl_setopt($ch, CURLOPT_URL, 'https://weibo.com/login.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 返回数据而不是直接输出 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // 跟随重定向 ...

    php中curl类常用方法封装和详解

    curl_setopt($ch, CURLOPT_REFERER, "login_page_url"); curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie_filename.txt'); // 保存Cookie curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie_filename.txt'); // 使用...

    PHP CURL详解

    **PHP CURL详解** PHP的CURL库是一种强大的工具,用于在服务器端执行HTTP请求,它支持多种协议,包括HTTP、HTTPS、FTP、FTPS等,是网页抓取、模拟POST和GET请求的重要手段。CURL使得PHP开发者可以方便地与远程...

    php的curl登录采集的类.zip

    在PHP中,`curl`扩展提供了丰富的函数,如`curl_init()`用于初始化一个cURL会话,`curl_setopt()`设置各种选项,以及`curl_exec()`执行请求。 模拟登录通常涉及以下几个步骤: 1. **发送登录请求**:使用`curl_...

    PHP CURL 126好友邀请 126邮箱登录

    $ch = curl_init('https://login.126.com/'); // 初始化cURL会话 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 设置返回结果为字符串而非直接输出 curl_setopt($ch, CURLOPT_POST, true); // 设置为POST请求...

    PHP CURL MSN好友邀请 MSN邮箱登录

    标题 "PHP CURL MSN好友邀请 MSN邮箱登录" 涉及到的技术点主要集中在PHP编程语言中的cURL库以及如何使用它来处理MSN(Microsoft Network)的好友邀请和邮箱登录功能。cURL是一个用于传输数据的库,常用于在PHP中发送...

    php的curl登录采集的类

    在PHP开发中,cURL库是一个非常强大的工具,它允许开发者通过HTTP协议发送各种请求,包括GET、POST、PUT等,还可以实现模拟登录、设置HTTP头、管理cookies等功能。本篇将详细介绍如何利用PHP的cURL库进行模拟登录并...

    基于PHP CURL获取邮箱地址的详解

    在本文中,我们将深入探讨如何使用PHP的CURL库来获取邮箱地址。CURL(Client URL Library)是一个强大的工具,可以模拟HTTP请求,包括GET、POST等,常用于页面抓取、模拟登录以及数据采集。以下是一个使用PHP CURL...

    class.curl.php

    CURL 模似HTTP请求工具 支持以下功能: * 1:支持ssl连接和proxy代理连接 ...include('clsss/class.curl.php'); $cu = new Curl(); //得到 baidu 的首页内容 echo $cu-&gt;get('http://www.baidu.com');

    使用PHP curl模拟浏览器抓取网站信息

    $url = "http://www.mytest.com/curl/login.php"; // 请求的URL地址 $user = "zkg111"; // 用户名 $pass = "123456"; // 密码 $postdata = "user_name={$user}&password={$pass}"; // 请求的数据,以 & 符号分割 $...

    php使用curl存储cookie的示例

    php$curl = curl_init();$url = ‘https://www.jb51.net/admin/gateway/login’;$data = array( ‘username’=&gt;’admin’, ‘password’=&gt;’123’);$cookie = tempnam(‘./temp’,’cookie’);curl_setopt($curl,...

    PHP基于curl模拟post提交json数据示例

    本文实例讲述了PHP基于curl模拟post提交json数据。分享给大家供大家参考,具体如下: 这里php模拟post提交json数据操作的关键是在头部设置Content-Type &lt;?php header(Content-type:application/json;charset=utf...

    PHP采纳curl仿照用户登陆新浪微博发微博的方法_.docx

    1. **登录URL**:`https://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.15)_=1403138799543` 2. **准备登录数据**:设置如`entry`、`gateway`、`from`等必要参数,以及用户登录名(base64编码)和密码...

    PHP读取CURL模拟登录时生成Cookie文件的方法

    - `curl_init($login_url)`:初始化一个cURL会话。 - `curl_setopt`函数的使用,设置cURL选项,例如: - `CURLOPT_USERAGENT`:指定用户代理字符串。 - `CURLOPT_HEADER`:设置是否包含头部在输出中。 - `...

    php curl 模拟登录并获取数据实例详解

    PHP的curl()在抓取网页的效率方面是比较高的,而且支持多线程,而file_get_contents&#40;&#41;效率就要稍低些,当然,使用curl时需要开启下curl扩展。 代码实战 先来看登录部分的代码: //模拟登录 function login_...

    php 使用curl模拟登录人人(校内)网的简单实例

    $ch = curl_init($login_url); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5'); curl_setopt($ch, CURLOPT_HEADER, 0); curl_...

    PHP使用Curl实现模拟登录及抓取数据功能示例

    curl_setopt($ch, CURLOPT_URL, $login_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 指定cookie文件,用于存储或读取cookie curl_setopt($ch, CURLOPT_COOKIEJAR...

    PHP中使用CURL模拟登录并获取数据实例

    在PHP开发中,cURL库是一个非常重要的工具,它允许开发者通过HTTP协议与其他服务器进行交互,包括模拟登录、抓取网页内容以及发送各种HTTP请求。本文以PHP中的cURL库为例,详细介绍如何模拟登录和获取数据,特别是...

Global site tag (gtag.js) - Google Analytics