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

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

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

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开源博客发布,如需转载请注明出处。

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

标签: PHPphppost
返回列表

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

没有最新的文章了...

相关文章

PHP实践之路-基础增强篇 教程

课程目标:对网站开发感兴趣的同学,有html、css基础的同学,想系统的学习PHP的同学适用人群:细腻讲解基础知识,配合实战项目,让同学们真正的会使用PHP开发网站项目课程简介:课程目标:深入理解PHP基础知识使用实站项目 bbs系统开发...

PHP 5 将于年底停止更新,六成用户将面临安全风险

PHP 5 将于年底停止更新,六成用户将面临安全风险

网络技术应用研究公司 W3Techs 近日表示,根据所有网站使用 PHP 版本的情况,从2019年1月1日起,有近62%的网站将会因为无法获得安全更新,而受到恶意攻击。根据 W3Techs 的调查,从本月 15 日开始,其研究的网站样本中使...

php 分页原理详解

在看本文之前,请确保你已掌握了PHP的一些知识以及MYSQL的查询操作基础哦。作为一个Web程序,经常要和不计其数的数据打交道,比如会员的数据,文章数据,假如只有几十个会员那很好办,在一页显示就可以了,可是假如你的网站是几千甚至几十万会员的...

漂亮的PHP验证码

漂亮的PHP验证码

在提交表单的时候为了防止机器操作或者是恶意的攻击,在填写表单的时候一般都用验证码来过滤掉一些非法提交数据。今天给大家介绍一款超实用超漂亮的PHP验证码库:Captcha。 安装使用composer:composer require...

php的mysql数据库操作类,很强大

php的mysql数据库操作类,很强大<?php   /*  * mysql数据库 DB类  * @package db  * ...

PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID

前言最近在工作中又遇到了这个问题,PHP中如何获得刚插入数据的ID(或当前发布文章的ID)呢?觉得有必要整理下详细的解决方法,方便自己也给有需要的朋友们提供以帮助,那么话不多说了,来看看详细的解决介绍。解决方法其实用 mysql_inser...

评论列表

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

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

hedp
2022-12-06 15:53:50

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

发表评论

访客

看不清,换一张

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