欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php实现的http请求封装示例

程序员文章站 2024-03-03 21:09:46
本文实例讲述了php的http请求封装。分享给大家供大家参考,具体如下: /** * 发送http请求方法,目前只支持curl发送请求 * @param st...

本文实例讲述了php的http请求封装。分享给大家供大家参考,具体如下:

/**
* 发送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相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《php socket用法总结》、《php网络编程技巧总结》、《php面向对象程序设计入门教程》、《php数组(array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家php程序设计有所帮助。