<?php
$hotel = new curl(false,0);
$str = $hotel -> post("http://www.todayinns.com/login.php?do=login",array("Referer"=>"","username"=>"18612690317","password"=>"2010"))->execute();
echo $hotel -> get("http://www.todayinns.com/my_jf.php")->execute();; /**
* 一个基础的CURL类
*
* @author Smala
*/
class curl{
public $ch;
public $cookie = '/cookie';
public $rstr;
public $info; public function __construct($ssl=true,$cookieName="tmp.cookie"){ $this -> cookie = dirname(__FILE__)."/".$cookieName;
$this -> ch = curl_init();
curl_setopt($this -> ch ,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36');//设置用户代理
curl_setopt($this -> ch,CURLOPT_COOKIEJAR,$this -> cookie);
curl_setopt($this -> ch,CURLOPT_COOKIEFILE,$this -> cookie); if($ssl){
curl_setopt($this -> ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($this -> ch, CURLOPT_SSL_VERIFYHOST, false);
}
curl_setopt($this -> ch,CURLOPT_RETURNTRANSFER,1);
} public function set($opt){
foreach($opt as $key => $value)
curl_setopt($this -> ch,$key,$value);
return $this;
}
public function get($url,$data=array()){
$queryString = http_build_query($data);
if(!empty($queryString)){
$url.= '?'.$queryString;
}
curl_setopt($this -> ch,CURLOPT_URL,$url);
return $this; }
public function setHeader($data=array()){
curl_setopt($this -> ch,CURLOPT_HTTPHEADER,$data);
return $this;
}
public function post($url,$data = array()){
$post = '';
foreach($data as $key=>$value){
$post .= $key.'='.$value."&"; }
$post = trim($post,'&');
curl_setopt($this -> ch,CURLOPT_URL,$url);
curl_setopt($this -> ch,CURLOPT_POST,1);
curl_setopt($this -> ch,CURLOPT_POSTFIELDS,$post);
return $this;
}
public function execute($close=true){ $this -> rstr = curl_exec($this -> ch);
$this -> info = curl_getinfo($this -> ch);
if($close){
// curl_close($this -> ch);
}
return $this -> rstr; }
public function close(){
curl_close($this -> ch);
} }
$hotel = new curl(false,0);
$str = $hotel -> post("http://www.todayinns.com/login.php?do=login",array("Referer"=>"","username"=>$_COOKIE['the_tel'],"password"=>$_COOKIE['password']))->execute();
$arrs = $hotel -> get("http://www.todayinns.com/my_ticket.php")->execute();
preg_match_all('/<dd class="c">(.*?)<\/dd>/is',$arrs,$tmp);
preg_match_all( '/<tr[^>]*([\s\S]*?)<\/tr>/i', $tmp[1][0], $arr );
preg_match_all( '/<td>(.*?)<\/td>/i', $arr[1][1], $volume );

curl抓取信息的更多相关文章

  1. 调用 CURL 使用正则抓取信息

    Class MyCurl{  protected $_pdo;     //构造方法 链接数据库  public function __construct(){      $this->_pdo ...

  2. php多线程抓取信息测试例子

    php多线程抓取信息测试例子 PHP 5.3 以上版本,使用pthreads PHP扩展,可以使PHP真正地支持多线程.多线程在处理重复性的循环任务,能够大大缩短程序执行时间. PHP扩展下载:htt ...

  3. PHP使用CURL抓取网页

    CURL是一个非常强大的开源库,支持很多协议,包括HTTP.FTP.TELNET等,我们使用它来发送HTTP请求.它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS ...

  4. PHP CURL 抓取失败 自己调试

    蛋疼的一下午,物理机win7旗舰版+APACHE2 ,CURL抓取一直成功. 虚拟机ubuntu+apache2一直抓取失败. 晚上,问个仁兄才知道,CURL可以调试: 参考这位兄台: 地址 curl ...

  5. shell用curl抓取页面乱码,参考一下2方面(转)

    1.是用curl抓取的数据是用类似gzip压缩后的数据导致的乱码.乱码:curl www.1ting.com |more乱码:curl -H "Accept-Encoding: gzip&q ...

  6. PHP cURL抓取网上图片

    cURL的底层是由一个命令行工具实现的,用于获取远程文件或传输文件,更多的情况是用来模拟get/post表单提交.也可以用户文件上传,爬取文件,支持FTP/FTPS,HTTP/HTTPS等协议,通俗来 ...

  7. java练习题(字符串类):显示4位验证码、输出年月日、从XML中抓取信息

    1.显示4位验证码 注:大小写字母.数字混合 public static void main(String[] args) { String s="abcdefghijklmnopqrstu ...

  8. php curl抓取远程页面内容的代码

    使用php curl抓取远程页面内容的例子. 代码如下: <?php /** * php curl抓取远程网页内容 * edit by www.jbxue.com */ $curlPost = ...

  9. 使用file_get_contents()和curl()抓取网络资源的效率对比

    使用file_get_contents()和curl()抓取网络资源的效率对比 在将小程序用户头像合成海报的时候,用到了抓取用户头像对应的网络资源,那么抓取方式有很多,比如 file_get_cont ...

随机推荐

  1. ssh 文件传输

    在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地 ...

  2. IOS文件操作的两种方式:NSFileManager操作和流操作

    1.常见的NSFileManager文件方法 -(NSData *)contentsAtPath:path //从一个文件读取数据 -(BOOL)createFileAtPath: path cont ...

  3. 转:virtualbox+ubuntu设置共享文件夹

    1.       进入系统,安装增强功能,安装完关闭系统. 2.       在E盘下创建一个共享文件夹 gongxiang. 3.       设置->数据空间->固定分配,选择共享文件 ...

  4. Activity之间切换使用系统内置动画

    例如: startActivity(intent); overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out) ...

  5. qt-solutions提供了8个开源项目

    其实这是官方提供的源代码,至于为什么会另建项目,而没有整合到QT项目里去,我猜可能有2个原因: 1. 这几个项目本身不完善,并且也不是QT项目的核心,因此没有必要花精力去完善 2. 一定程度上可以维护 ...

  6. 开发者应当了解的WebKit知识

    开发者应当了解的WebKit知识 对一些开发者而言,WebKit就是一个黑盒子.丢进去HTML.CSS.JS等一连串的东西,而WebKit就能变魔术一般显示出一个很棒的网页出来.实际上,正我的同事Il ...

  7. 【转】Microsoft visio 2013 pro 图文激活破解教程

    原文网址:http://jingyan.baidu.com/article/db55b609ab0e1f4ba30a2ff0.html Microsoft visio 2013 pro 假如您使用Mi ...

  8. ACM2114_S[I](1^3+2^3+3^3)

    #include<iostream> using namespace std; int main() { __int64 n,m,i,j,sum; while(cin>>n) ...

  9. 查询死锁和处理死锁(SqlServer)

    -------------------查询死锁,极其引起的原因-------------------------------use master go create procedure sp_who_ ...

  10. Python读取txt文件

    Python读取txt文件,有两种方式: (1)逐行读取 data=open("data.txt") line=data.readline() while line: print ...