易截截图软件、单文件、免安装、纯绿色、仅160KB

[原创] PHP 兼容 Curl/Socket/Stream 的 HTTP 操作类

<?php
/************************************************************
* 描述:HTTP操作类
* 作者:heiyeluren
* 创建:2009/12/13 04:43
* 修改:2009/12/16 10:30 实现基本HTTP各种接口操作支持
*
************************************************************/
/**
* HTTP功能工厂方法类
*
* 调用示例代码:
try {
$http = Http::factory('http://www.baidu.com', Http::TYPE_SOCK );
echo $http->get();
$http = Http::factory('http://127.0.0.1/test/i.php', Http::TYPE_SOCK );
echo $http->post('', array('user'=>'我们', 'nick'=>'ASSADF@#!32812989+-239%ASDF'), '', array('aa'=>'bb', 'cc'=>'dd'));
} catch (Exception $e) {
echo $e->getMessage();
}
*/
class Http
{
/**
* @var 使用 CURL
*/
const TYPE_CURL = 1;
/**
* @var 使用 Socket
*/
const TYPE_SOCK = 2;
/**
* @var 使用 Stream
*/
const TYPE_STREAM = 3;


/**
* 保证对象不被clone
*/
private function __clone() {}
/**
* 构造函数
*/
private function __construct() {}
/**
* HTTP工厂操作方法
*
* @param string $url 需要访问的URL
* @param int $type 需要使用的HTTP类
* @return object
*/
public static function factory($url = '', $type = self::TYPE_SOCK){
if ($type == ''){
$type = self::TYPE_SOCK;
}
switch($type) {
case self::TYPE_CURL :
if (!function_exists('curl_init')){
throw new Exception(__CLASS__ . " PHP CURL extension not install");
}
$obj = Http_Curl::getInstance($url);
break;
case self::TYPE_SOCK :
if (!function_exists('fsockopen')){
throw new Exception(__CLASS__ . " PHP function fsockopen() not support");
}
$obj = Http_Sock::getInstance($url);
break;
case self::TYPE_STREAM :
if (!function_exists('stream_context_create')){
throw new Exception(__CLASS__ . " PHP Stream extension not install");
}
$obj = Http_Stream::getInstance($url);
break;
default:
throw new Exception("http acc


相关文档:

PHP Session 两种不同存储方式

转自:http://www.cmsgp.org/article/3.html PHP Session使我们能够将用户的数据保存在服务器端。但是Session数据是临时的,并且通常当用户关闭浏览器时,保存Session id的Cookie就会被删除,相关的Session数据也将因此丢失。当然,我们可以通过修改session.cookie_lifetime这个参数来控制Cookie有效时间。
PHP Sessi ......

PHP正则表达式详解

今天回顾了下正则的基本知识。  总容易忘,特记于此。
用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。
PHP中的正则函数:
PHP中有两套正则函数,两者功能差不多,分别为:
一套是由PCRE(Perl Compatible Regular Expression)库提供的。使用“preg_” ......

PHP模拟登陆的实现

之前参加学校的挑战杯,做了一个小的手机网站项目,其中要实现登陆学校校内邮箱,考虑到手机用户端没有办法直接访问学校网页。于是想到了使用php实现模拟登陆,有些许的心得。顺便记录一下。
在我们学校的邮箱登陆页面的登陆表单的内容有用户名和密码,没有验证码机制,这样比较好办。从源文件里记下表单里有username和pas ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号