PHP CURL简单使用(支持ssl连接和proxy代理连接,简单的GET/POST常规操作,文件上传)

PHP CURL简单使用(支持ssl连接和proxy代理连接,简单的GET/POST常规操作,文件上传)。

s
/**
 * 
 * $Id:Curl.class.php
 * 
 * CURL HTTP工具类
 * 
 * 支持以下功能:
 * 1:支持ssl连接和proxy代理连接
 * 2: 对cookie的自动支持
 * 3: 简单的GET/POST常规操作
 * 4: 支持单个文件上传或同字段的多文件上传,支持相对路径或绝对路径.
 * 5: 支持返回发送请求前和请求后所有的服务器信息和服务器Header信息
 * 6: 自动支持lighttpd服务器
 * 7: 支持自动设置 REFERER 引用页
 * 8: 自动支持服务器301跳转或重写问题
 * 9: 其它可选项,如自定义端口,超时时间,USERAGENT,Gzip压缩等.
 * 
 */

class Curl{

	private $ch = null;				//CURL句柄
	private $info = array();		//CURL执行前后所设置或服务器端返回的信息

	//CURL SETOPT 信息
	private $setopt = array(
	 'port'=>80,					//访问的端口,http默认是 80
	 'userAgent'=>'',				//客户端 USERAGENT,如:"Mozilla/4.0",为空则使用用户的浏览器
	 'timeOut'=>30,					//连接超时时间
	 'useCookie'=>true,				//是否使用 COOKIE 建议打开,因为一般网站都会用到
	 'ssl'=>false,					//是否支持SSL
	 'gzip'=>true,					//客户端是否支持 gzip压缩

	 'proxy'=>false,				//是否使用代理
	 'proxyType'=>'HTTP',			//代理类型,可选择 HTTP 或 SOCKS5
	 'proxyHost'=>'123.110.89.248',	//代理的主机地址
	 'proxyPort'=>8909,				//代理主机的端口
	 'proxyAuth'=>false,			//代理是否要身份认证(HTTP方式时)
	 'proxyAuthType'=>'BASIC',		//认证的方式.可选择 BASIC 或 NTLM 方式
	 'proxyAuthUser'=>'user',		//认证的用户名
	 'proxyAuthPwd'=>'password',	//认证的密码
	);

	/**
	 * 构造函数
	 *
	 * @param array $setopt :请参考 private $setopt 来设置
	 */
	public function Curl($setopt=array()){

		$this->setopt = array_merge($this->setopt,$setopt);		//合并用户的设置和系统的默认设置

		function_exists('curl_init') || die('CURL Library Not Loaded');		//如果没有安装CURL则终止程序

		$this->ch = curl_init();		//初始化

		curl_setopt($this->ch, CURLOPT_PORT, $this->setopt['port']);	//设置CURL连接的端口

		//使用代理
		if($this->
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值