本文实例讲述了php实现的Curl封装类Curl.class.php用法。分享给大家供大家参考。具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
<?php //curl类 class Curl { function Curl(){ return true; } function execute( $method , $url , $fields = '' , $userAgent = '' , $httpHeaders = '' , $username = '' , $password = '' ){ $ch = Curl::create(); if (false === $ch ){ return false; } if ( is_string ( $url ) && strlen ( $url )){ $ret = curl_setopt( $ch , CURLOPT_URL, $url ); } else { return false; } //是否显示头部信息 curl_setopt( $ch , CURLOPT_HEADER, false); // curl_setopt( $ch , CURLOPT_RETURNTRANSFER, true); if ( $username != '' ){ curl_setopt( $ch , CURLOPT_USERPWD, $username . ':' . $password ); } $method = strtolower ( $method ); if ( 'post' == $method ){ curl_setopt( $ch , CURLOPT_POST, true); if ( is_array ( $fields )){ $sets = array (); foreach ( $fields AS $key => $val ){ $sets [] = $key . '=' . urlencode( $val ); } $fields = implode( '&' , $sets ); } curl_setopt( $ch , CURLOPT_POSTFIELDS, $fields ); } else if ( 'put' == $method ){ curl_setopt( $ch , CURLOPT_PUT, true); } //curl_setopt($ch, CURLOPT_PROGRESS, true); //curl_setopt($ch, CURLOPT_VERBOSE, true); //curl_setopt($ch, CURLOPT_MUTE, false); curl_setopt( $ch , CURLOPT_TIMEOUT, 10); //设置curl超时秒数 if ( strlen ( $userAgent )){ curl_setopt( $ch , CURLOPT_USERAGENT, $userAgent ); } if ( is_array ( $httpHeaders )){ curl_setopt( $ch , CURLOPT_HTTPHEADER, $httpHeaders ); } $ret = curl_exec( $ch ); if (curl_errno( $ch )){ curl_close( $ch ); return array (curl_error( $ch ), curl_errno( $ch )); } else { curl_close( $ch ); if (! is_string ( $ret ) || ! strlen ( $ret )){ return false; } return $ret ; } } function post( $url , $fields , $userAgent = '' , $httpHeaders = '' , $username = '' , $password = '' ){ $ret = Curl::execute( 'POST' , $url , $fields , $userAgent , $httpHeaders , $username , $password ); if (false === $ret ){ return false; } if ( is_array ( $ret )){ return false; } return $ret ; } function get( $url , $userAgent = '' , $httpHeaders = '' , $username = '' , $password = '' ){ $ret = Curl::execute( 'GET' , $url , '' , $userAgent , $httpHeaders , $username , $password ); if (false === $ret ){ return false; } if ( is_array ( $ret )){ return false; } return $ret ; } function create(){ $ch = null; if (!function_exists( 'curl_init' )){ return false; } $ch = curl_init(); if (! is_resource ( $ch )){ return false; } return $ch ; } } ?> |
GET用法:
1
2
|
$curl = new Curl(); $curl ->get( 'http://www.XXX.com/' ); |
POST用法:
1
2
|
$curl = new Curl(); $curl ->get( 'http://www.XXX.com/' , 'p=1&time=0' ); |
希望本文所述对大家的php程序设计有所帮助。