<?php /** * @desc curl 方法的实现 * @author Aboc QQ:9986584 * @version 1.0 * */ class Curl { /** * url地址 * * @var unknown_type */ private $_url = ''; private $_cookie = ''; function __construct($url = '') { if (!function_exists('curl_init')) die('请开启Curl模块'); $this->_url = $url; } /** * 私有变量赋值 * * @param unknown_type $name * @param unknown_type $value */ public function setUrl($value) { $this->_url = $value; } /** * 设置cookie的值 * 形如:hello1=111;hello2=222;hello3=333;hello4=444 * @param unknown_type $value */ public function setCookie($value) { $this->_cookie = $value; } /** * 获取私有变量的值 * * @param unknown_type $name * @return unknown */ public function getUrl() { return $this->_url; } /** * 将data post到指定的url * * @param $data array/str都可以 str形如name=aboc&num=bbb * @return unknown */ public function post($data, $user_agent = false) { if (is_array($data)) { $str = array(); foreach ($data as $key => $value) { if (!is_array($value)) $str[] = $key . '=' . urlencode($value); } $str = join('&', $str); } else { $str = $data; } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $this->_url); curl_setopt($ch, CURLOPT_POST, count($data)); curl_setopt($ch, CURLOPT_POSTFIELDS, $str); if ($user_agent) { curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0"); } if (!empty($this->_cookie)) curl_setopt($ch, CURLOPT_COOKIE, $this->_cookie); ob_start(); if (curl_exec($ch)) { $result = ob_get_contents(); } else { $result = false; } ob_end_clean(); curl_close($ch); return $result; } public function get($user_agent = false,$sendip='') { $ch = curl_init($this->_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); //伪造客户端IP if($sendip!="") curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:'.$sendip, 'CLIENT-IP:'.$sendip)); if ($user_agent) { curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0"); } if (!empty($this->_cookie)) curl_setopt($ch, CURLOPT_COOKIE, $this->_cookie); $result = curl_exec($ch); curl_close($ch); return $result; } function __destruct() { } } ?>
至于使用方式,很简单,就不做说明了
留下你的看法: