:发送 HTTP 请求方法,param string $url 请求 URL,param array $params 请求参数。
- * @param string $method请求方法GET / POST * @
- return array $data响应数据 * /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);break;case 'POST':/ / 判断是否传输文件$params = $multi ? $params: http_build_query($params);
- $opts[CURLOPT_URL] = $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;
- }
调用方法:
- //定义一个要发送的目标URL;$url = "https://www.xxx.com";//定义传递的参数数组;$data['key1']='val1';$data['key2']='val2';//定义返回值接收变量;$httpstr = http($url, $data, 'POST', array("Content-type: text/html; charset=utf-8"));
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: