本文实例讲述了php的http请求封装。分享给大家供大家参考,具体如下:
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
|
/** * 发送HTTP请求方法,目前只支持CURL发送请求 * @param string $url 请求URL * @param array $params 请求参数 * @param string $method 请求方法GET/POST * @return array $data 响应数据 */ protected function http( $url , $params , $method = 'GET' , $header = array (), $multi = false) { $opts = array (CURLOPT_TIMEOUT => 30, CURLOPT_RETURNTRANSFER => 1, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_HTTPHEADER => $header ); /* 根据请求类型设置特定参数 */ switch ( strtoupper ( $method )) { case 'GET' : $opts [CURLOPT_URL] = $url . '&' . http_build_query( $params ); dump( $opts [CURLOPT_URL]); break ; case 'POST' : //判断是否传输文件 $params = $multi ? $params : http_build_query( $params ); $opts [CURLOPT_URL] = $url ; dump( $opts [CURLOPT_URL]); $opts [CURLOPT_POST] = 1; $opts [CURLOPT_POSTFIELDS] = $params ; break ; default : throw new Exception( '不支持的请求方式!' ); } /* 初始化并执行curl请求 */ $ch = curl_init(); curl_setopt_array( $ch , $opts ); $data = curl_exec( $ch ); $error = curl_error( $ch ); curl_close( $ch ); if ( $error ) throw new Exception( '请求发生错误:' . $error ); return $data ; } |
希望本文所述对大家PHP程序设计有所帮助。