`
haohappy2
  • 浏览: 317420 次
  • 性别: 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实现模拟登录及抓取数据功能示例

    本文实例讲述了PHP使用Curl实现模拟登录及抓取数据功能。分享给大家供大家参考,具体如下: 使用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存储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模拟登录并获取数据实例

    cURL 是一个功能强大的PHP库,使用PHP的cURL库可以简单和有效地抓取网页并采集内容,设置cookie完成模拟登录网页,curl提供了丰富的函数,开发者可以从PHP手册中获取更多关于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 模拟登录并获取数据实例详解

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

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

    本文实例讲述了PHP读取CURL模拟登录时生成Cookie文件的方法。分享给大家供大家参考。具体实现方法如下: 在使用PHP中的CURL模拟登录时会保存一个Cookie文件,例如下面的代码 复制代码 代码如下:$login_url = ‘XXX’;...

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

    通过https://login.live.com/RST.srf通道登录,成功登录将把MSN挤下线

    PHP Curl模拟登录微信公众平台、新浪微博实例代码

    下面一段代码给大家介绍php使用curl模拟登录微信公众平台,具体代码如下所示: &lt;?php //模拟微信登入 $cookie_file = tempnam('./temp','cookie'); $login_url = 'https://mp.weixin.qq.com/cgi-bin/login'; $...

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

    php的curl真的是相当好用,网上一搜索相关文章都是关于curl模拟登陆的,很少人提供模拟discuz发贴的源码。 复制代码 代码如下: &lt;?php $discuz_url = ‘http://127.0.0.1/discuz/’;//论坛地址 $login_url = $...

    amazonSellerCentralLogin:使用php curl登录amazon Sellercentral.amazon.com

    亚马逊卖家中心登录使用php curl登录amazon Sellercentral.amazon.com 登录后,您可以导航到其他页面,例如下载报告文件。示例,获取报告页面$url = " $report = Login::getAmazonBackendUrl(Login::...

    php自动提交表单的方法(基于fsockopen与curl)

    本文实例讲述了php基于fsockopen与curl实现自动提交表单的方法。分享给大家供大家参考,具体如下: fsockopen和curl都可以做php自动提交表单 ...* $url = 'http://www.xxx.com:8080/login.php'; * $data[user]

    基于PHP实现telegram-Bot机器人的源码-布特技术社区出品

    后台网址:https://domain.com/login.php 账号:admin 密码:z6GZ1Jbq66 安装说明: 修改文件目录中的/telegram/db.php 设置目录权限777: /upload/、/upload/delivery 使用SSL访问 FOR SSH: */1 * * * * curl...

    PHP-Login:使用PHP,MySQL,jQuery和Bootstrap构建的登录系统

    PHP-Login是使用PHP,MySQL(带有PDO),jQuery和Bootstrap 3构建的简单登录和注册系统。它是PHP开发人员从其构建站点的起点,并包括基本的用户管理类和方法。 使用的技术: 先决条件 需要PHP 最低版本: 7.0 ...

    php通过curl模拟登陆DZ论坛

    libcurl同时也支持HTTPS认证、HTTP POST、...$login_url = $discuz_url .'login.php?action=login';//登录页地址 $post_fields = array(); //以下两项不需要修改 $post_fields['loginfield'] = 'username'; $post_fiel

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

    php 使用curl模拟登录人人(校内)网的简单实例 $login_url = 'http://passport.renren.com/PLogin.do'; $post_fields['email'] = 'XXXX'; $post_fields['password'] = 'XXXX'; $post_fields['origURL'] = '...

    api_php:围绕 cURL 进行包装以实现更简单的 REST API 通信

    注意:需要 PHP 5.3 或更高版本和 PHP cURL 扩展 快速入门示例 $ api = new \websupport\ RestConnection ( 'https://rest.websupport.sk/v1/' , 'login' , 'pass' ); // load user info try { $ userInfo = $ ...

    php-jwt-login:JWT(JSON Web令牌)URL登录PHP示例

    php-jwt-login JWT(JSON Web令牌)URL登录PHP示例 设置 安装 : curl -sS https://getcomposer.org/installer | php curl -sS https://getcomposer.org/installer | php 安装依赖项: php composer.phar install ...

    php.ini-development

    [PHP] ;;;;;;;;;;;;;;;;;;; ; About php.ini ; ;;;;;;;;;;;;;;;;;;; ; PHP's initialization file, generally called php.ini, is responsible for ; configuring many of the aspects of PHP's behavior. ; PHP...

    最新php飞信可用api类

    1.环境要求必须支持php curl 2.由于网速的问题发送至手机和飞信号不稳定 如果想稳定的话可以发送至飞信id 飞信id获取方法。用opera浏览器打开http://f.10086.cn/im/login/login.action 登录后找到好友点一下。然后在...

Global site tag (gtag.js) - Google Analytics