当前位置:首页 > PHP开发 > PHP技巧 > 正文内容

php通用网络请求支持post、get、cookie、header

Git开源网2022-12-04 10:35:38PHP技巧1139

php通用网络请求支持post、get、cookie、header

/**
 * @param $url 接口地址
 * @param $http_method 请求方式
 * @param $data 请求数据
 * @param $header 请求头(一维非关联数组)
 * @param $cookie 请cookie
 * @return 发送https的post请求
 */
function http_curl($url, $http_method = 'GET', $data = '', $header = array(), $cookie = '')
{
    $headers = array(
        'Accept: application/json',
    );
    $headers = array_merge($headers, $header);
    if ($cookie) {
        $headers[] = "Cookie: $cookie";
    }
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($ch, CURLOPT_HEADER, FALSE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    //post提交方式
    if ($http_method == 'POST' && $data) {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    }

    $res = curl_exec($ch);
    //返回结果
    if ($res) {
        curl_close($ch);
        return $res;
    } else {
        $error = curl_errno($ch);
        curl_close($ch);
        return $error;
    }
}

带Header的POST请求:

/**
 * 发送数据
 * @param String $url   请求的地址
 * @param Array $header 自定义的header数据
 * @param Array $content POST的数据
 * @return String
 */
function tocurl($url, $header, $content){
  $ch = curl_init();
  if(substr($url,0,5)=='https'){
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在
  }
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//设置请求头信息
  curl_setopt($ch, CURLOPT_POST, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $content);
  $response = curl_exec($ch);
  if($error=curl_error($ch)){
    die($error);
  }
  curl_close($ch);
  return $response;
}


扫描二维码推送至手机访问。

版权声明:本文由Git开源网_git开源代码资源网_git开源博客发布,如需转载请注明出处。

本文链接:https://gitoscc.com/?id=886

标签: PHPphppost
返回列表

上一篇:ecode易语言代码高亮[html源码]

没有最新的文章了...

相关文章

Github上的PHP资源汇总大全

国外程序员ziadoz 在Github上收集整理了PHP的各种资源,内容包括模板、框架、数据库、安全等方面的库和工具。这篇文章,汇总了这些PHP资源,供各位PHP学习者和程序员参考。废话不多说,下面就是详细的资料列表。依赖管理——用于依赖管...

php的一个登录的类

类库简介:php的一个登录的类,可以连接mysql数据库,验证用数据表 ,使用cookie保存session id ,用户名无效提示 ,密码错误提示,如果cookie中未保存sid,则直接检查session ,用户认证 ,密码是否匹配 。&...

php判断电脑访问、手机访问的例子

用php去判断网页是电脑访问还是手机访问,然后再通过去加载不同的css来达到手机和电脑都可以正常的访问的效果。网站查了很多资料,终于找到了一个合适、比较好用的代码,也希望能给大家一个参考。<?php function ch...

PHP简单漂亮的分页类+实例

PHP简单漂亮的分页类+实例

文介绍一款原生的PHP分页类,分页样式有点类似bootstrap。 index.php代码php版本5以上用这个:(使用 MySQLi)<?php   include_once("config...

兄弟连新版PHP视频教程(共346讲)

兄弟连新版PHP视频教程(共346讲)大小:14.9G[Download]资源名称:兄弟连新版PHP视频教程(共346讲).rar文件大小:14.9G下载地址:https://pan.baidu.com/s/1pMtZFsv 密码:0idz...

PHP基础视频 - 简单留言板应用程序

PHP基础视频 - 简单留言板应用程序

课程目标:通过本课程的学习,可以帮助学员熟练掌握PHP相关基础内容(包括PHP基本语法、PHP连接数据库、PHP Web核心技术等),同时也引导学生熟悉PHP网站项目开发的基本流程,再次为后续课程(PHP中级、PHP高级开发)打下坚实的基础...

评论列表

22攻略
2023-05-18 16:45:40

你写得非常清晰明了,让我很容易理解你的观点。

hedp
2022-12-06 15:53:50

不错,换友链吗?我的站是:http://www.hedpna.com/

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。