php7实现http和https请求web服务-通用工具类

apache服务详解(从http到https) 文章目录一、apache服务的定义二、http://协议1、http://协议的定义2、 HTTP 请求/响应的步骤:三、apache的安装及查看基本信息3.1 apache服务的安装3.2 查看httpd服务相关信息3.3 httpd服务的相关设置1、修改httpd服务的端口2、修改默认发布文件3、修改默认发布目录四、apache的访问控制4.1 针对主机ip的访问控制4.2 用户方式的访问控制... 阅读详情

前段时间做微信开发,因微信有众多接口调用,因此自己整理了一套比较通用的工具类,用以做接口 调用,考虑到方便性和简洁性,这里选择使用php的curl扩展库来实现

1 curl启用和apache的配置

先来看看网友们提供的众多错误方法,本人被这些资料坑的太惨 了

(1)把dll复制到system32(64位的路径是其他)附带重启apache

(2) 直接到php.ini开启curl扩展即可(这个哪有那么简单)

 正确的做法如下:

首先打开curl扩展,直接去php.ini里修改:

; Notes for Windows environments :
;
; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
;   extension folders as well as the separate PECL DLL download (PHP 5+).
;   Be sure to appropriately set the extension_dir directive.
;
;extension=bz2
extension=curl

接着修改apache的配置文件httpd.conf,在最后加上如下配置,路径按需修改

LoadFile D:/phpenv/php7/php7ts.dll
LoadFile D:/phpenv/php7/libeay32.dll
LoadFile D:/phpenv/php7/ssleay32.dll
LoadFile D:/phpenv/php7/libssh2.dll 

2  直接上工具类代码

<?php
class RequestUtil{
    function https_request($url,$data=null){
        $curl=curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        if(!empty($data)){
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
            curl_setopt($curl,CURLOPT_POST, true);
            
        }
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        $result=curl_exec($curl);
        curl_close($curl);
        
        return $result;
    }
    
    function http_request($url,$data=null){
        $curl=curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        if(!empty($data)){
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
            curl_setopt($curl,CURLOPT_POST, true);
            
        }
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
        $result=curl_exec($curl);
        curl_close($curl);
        
        return $result;
    }
}
?>

 工具类没写什么注释,如果看不明白,查阅下php开发手册,里面有详细说明

3 有关$data的注意事项

大部分post请求,只需要把参数写到一个数组里,以微信自定义菜单的创建接口做说明,如下:

$data=json_encode($menuJson,JSON_UNESCAPED_UNICODE)

一些情况下,请求的body可能只是一个字符串,此时直接拼接参数即可

$postStr=array("api_key"=>"xxx_","api_secret"=>"xxx","image_base64"=>$res,"return_attributes"=>"gender,age,ethnicity");
        
        $o = "";
        foreach ( $postStr as $k => $v )
        {
            $o.= "$k=" . urlencode( $v ). "&" ;
        }
        $postStr = substr($o,0,-1);

这里的$postStr和$data代表同一个东西

Nginx 实战系列(一)—— Web 核心概念、HTTP/HTTPS协议 与 Nginx 安装 本文系统梳理了Web技术基础与Nginx实战的核心内容。首先介绍了Web的B/S架构模型、请求响应流程以及静态/动态资源特点。重点解析了HTTP/HTTPS协议区别、TLS加密握手过程,并详细分类讲解HTTP状态码及其应用场景。文章还提供了最小Web服务搭建案例,为后续深入学习Nginx配置、负载均衡等实战内容奠定基础,适合Web开发初学者和技术人员构建系统知识框架。 阅读详情

相关推荐

ThinkPHP-Http工具类.zip

ThinkPHP Http工具类(用于远程采集 远程下载),采集远程文件,使用 fsockopen 通过 HTTP 协议直接访问(采集)远程文件,如果主机或服务器没有开启 CURL 扩展可考虑使用,可以指定下载显示的文件名,并自动发送相应的Header信息。

php http 工具类,Http 工具类 解析数据问题

int id = 622;String url = "http://www.allcast.is/stream.php?id=" + id + "&width=100%&height=100%&stretching=uniform";Response response = Http.post3(url, null, Header.create().set("Referer"...

weixin_39607873的博客 309

php中的http请求工具

该工具仅仅只是对curl的一个基本的封装,主要是为了日常开发时使用http请求更加方便,使得开发者无需过多关注curl需要怎么配置。

PHP curl get Https 代理PROXY

public static function HttpsGetProxy($url, $host, $port) { $ch = curl_init(); //设置选项,包括URL curl_setopt($ch, CURLOPT_URL, $url); // false 禁止 cURL 验证对等证书(peer's certificate)。要验证的交换证书可以在 CURLOPT_CAINFO 选项中设置,或在 CURLOPT_CA.

I am your sun ❤ 1205

Robosuite实战:通过Xbox手柄实现机械臂6-DoF精准控制的完整指南

本文详细介绍了如何通过Xbox手柄实现机械臂的6-DoF精准控制,结合Robosuite仿真环境与MuJoCo物理引擎,提供从环境配置到代码实现的完整指南。文章重点解析了手柄映射原理、核心控制代码以及数据采集优化技巧,帮助开发者高效完成机械臂控制任务。

weixin_29169505的博客 419

SDIO_WiFi驱动学习之安卓WLAN架构介绍及调用流程分析

一、引言 上一篇博客大概介绍了MMC子系统和SDIO相关知识及架构,这一篇博客则大致分析安卓的WLAN架构及上层如何调用WLAN驱动的流程。 虽然我工作的开发环境是安卓系统,但由于我不是专业的安卓应用/框架开发工程师,所以对安卓层的一些代码并不是特别熟悉,只能大致梳理流程,不专业的地方请谅解。 本文部分内容摘抄自网络,若有侵权,请联系删除。 二、安卓WLAN架构 1、应用框架(Application framework) 在应用程序框架级别是应用程序代码,它使用各种android.net..

陈子陌的博客 5088

php怎么实现ip代理服务器

通过代理服务器解析程序可以让代理服务器自动识别目标服务器并解析出正确的IP地址,IP地址解析程序则是用来处理代理服务器和目标服务器之间的通信;IP代理服务器是一种向互联网提供代理服务器的网络服务,它可以代替用户的IP地址进行访问,保证用户访问的隐私和安全。在这个步骤中,我们需要创建一个PHP脚本,并将脚本的输入设置为HTTP数据,以便正确地处理用户的请求。最后,在代理服务器中,需要创建API调用程序。代理服务器解析程序可以自动解析目标服务器的地址和端口,以便代理服务器和目标服务器之间进行正确的通信。

我的博客,不一样的自我表达 931

Keil-C51 与 Keil -ARM 共存的方法

本篇为《嵌入式相关》系列博客的第五篇,该系列博客主要记录单片机开发及硬件设计的相关过程,方便以后查阅。 Keil-C51 与 Keil -ARM 共存的方法状况解决方案1测试解决方案2 状况 今天装完Keil-C51,然后又换装了Keil-ARM之后,可以正常编译STM32 的工程,但是无法编译C51的工程,并且出现了如下错误: *** Error: Project ‘template’ requires ‘C51’ Toolchain which is not installe 这种情况就是Keil-

梁小憨憨的博客 1万+

http-https代理服务器的代码实现

title: http/https代理服务器的代码实现 date: 2019-12-22 16:57:42 dscription: 代码实现一个http/https代理服务器的代码实现 原文地址https://tomsworkspace.github.io/2019/12/22/http-https代理服务器的代码实现/ http/https代理服务器的代码实现 代理服务器工作原理  代理服务器作...

qq_38877888的博客 5316

ROS学习笔记之——无人机PID调参过程记录

For cooperaive inquiries, please visit the website:guanweipeng.com

gwpscut的博客 6828

一篇文章带你快速入门 MATLAB

文章目录一、认识 MATLAB 界面二、MATLAB 的运行方式三、Matlab 中的窗口1. 命令窗口2. MATLAB的程序编辑窗口3. 工作空间窗口4. 命令历史窗口5. 图形窗口6. 当前目录窗口四、MATLAB的帮助系统1. 帮助命令2. 联机帮助五、其他知识补充1. MATLAB的搜索路径2. 变量命名规则3. M文件命名规则 一、认识 MATLAB 界面 在 MATLAB Desktop 中,工具条取代了菜单和工具栏。应用程序库收纳了 MATLAB 产品系列的应用程序,单一文件应用程序打包为一

南淮北安的博客 5126

php http和https接口,php7实现http和https请求web服务-通用工具类-Go语言中文社区

前段时间做微信开发,因微信有众多接口调用,因此自己整理了一套比较通用的工具类,用以做接口 调用,考虑到方便性和简洁性,这里选择使用php的curl扩展库来实现1 curl启用和apache的配置先来看看网友们提供的众多错误方法,本人被这些资料坑的太惨 了(1)把dll复制到system32(64位的路径是其他)附带重启apache(2) 直接到php.ini开启curl扩展即可(这个哪有那么简单)...

weixin_42467457的博客 322

Http请求的流程原理以及请求详解

1.Http请求的基本流程 HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法。 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP下加入SSL层。 SSL(Secure Sockets Layer 安全套接层)主要用于W...

weixin_44465584的博客 1万+

【INMP441】 MEMS麦克风,让硬件“听得见”,更要“听得清”

INMP441是一款数字MEMS麦克风,采用PDM接口输出高质量数字音频信号。相比传统模拟麦克风,它具有高度集成、抗干扰强、功耗低等优势,支持通过时钟启停实现软件控制开关。该麦克风体积小巧但功能强大,内置MEMS传感器、ADC转换器等模块,适合智能音箱、语音遥控等应用。工程师可通过ESP32等主控芯片轻松连接INMP441,利用多麦克风阵列实现波束成形等高级功能。INMP441展现了数字音频采集的先进技术,为创客和智能硬件开发者提供了优秀的音频解决方案。

深耕CV 1536

ResNet改进(7):添加 SK注意力机制

实现 SK 注意力机制。

2401_82355416的博客 731

带有 PHP Curl 扩展的 HTTP/3 请求

PHP 的 Curl 扩展可以通过对 HTTP/3 的实验性支持来构建。不幸的是,它需要编译 Curl 扩展,这对于依赖作系统包存储库更新进行安全和错误修复更新的系统来说具有挑战性。如果远程服务器不支持 HTTP/3,它会尝试使用 HTTP/2 或 HTTP/1.1,具体取决于可用性和支持。如果 Curl 不支持 HTTP/3,则和curl_exec调用都会失败。HTTP/3 请求可以更具防御性地发出,如下面的代码片段所示。它会检查 Curl 是否内置了 HTTP/3 支持,检查是否声明了。

2501_92636000的博客 1068

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ajax笔记1--HTTP,HTTPS和HTTP请求概念介绍

HTTP是一种无状态协议,所谓无状态就是客户端和服务器之间不会长时间的建立连接。 HyperText Transfer Protocol,超文本传输协议 所有的www文件都必须遵守这个标准 通俗的来讲,就是让客户端,也就是我们的浏览器,和服务端,就是web服务器,之间用一种约定俗成的方式交谈。 HTTP协议以明文方式发送内容,不提供任何的数据加密,可轻易的获取浏览器和服务器

Bazingaea的博客 4146

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

JavaWeb框架(一):Web入门,Http的请求和响应,https介绍,Web实战自定义服务器

Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。对我们而言:JavaWeb就是用Java技术来解决相关web互联网领域的技术。我们平时都是通过浏览器向服务器发起请求,比如:登录,购买,注册等请求获取服务器给我们的响应数据和资源展示;静态web资源(如html 页面、css):指web页面中供人们浏览的数据始终是不变。动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。

futurn_hero的博客 941

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

HTTP协议和WEB服务器Apache

1.客户端发起HTTPS请求:当用户在浏览器中输入一个HTTPS网址并访问时,浏览器(作为客户端)会向服务器发起一个HTTPS请求。2.服务器响应并提供证书:服务器收到请求后,会向客户端发送其SSL证书。这个证书包含了服务器的公钥,证书颁发机构(CA)的信息,以及其他验证服务器身份的信息。3.客户端验证证书:客户端收到证书后,会检查证书是否由信任的CA签发,证书中的域名是否与服务器的域名匹配,以及证书是否过期。如果证书验证通过,客户端就认为服务器是可信的。

邢宇宇的博客 544

服务器设置http自动转跳https

IIs中实现Http自动转换到Https方法介绍 (403跳转对SEO有一定影响) 1、根据IIS版本备份以下文件: IIS6.0 路径:C:\WINDOWS\Help\iisHelp\common\403-4.htm IIS7.0以上 路径:C:\inetpub\custerr\zh-CN\403.htm 2、把以下内容全部拷贝替换(403-4或403)里面所有内容,保存即可 该页必须

蓝凌的博客 3571

HTTP协议和HTTPS协议的区别

等步骤都完全相同。

m0_74158670的博客 1104

HTTP协议与HTTPS 协议

- HTTP(HyperText Transfer Protocol:超文本传输协议)被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密。 - HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

Explore 1720

HTTP和HTTPS

简介 HTTP(HyperText Transfer Protocol,超文本传输协议)协议是在万维网上客户端和服务器端进行通信的一种规范。 HTTP协议是基于C/S架构进行通信的,而HTTP协议的服务器端实现程序有httpd、nginx等,其客户端的实现程序主要是Web浏览器,例如Firefox、InternetExplorer、Google chrome、Safari、Opera等,此外,客户...

IT_10的博客 321

确保Web安全的HTTPS-HTTP(七)

概述 在HTTP协议中有可能存在信息窃听或身份伪装等安全问题。使用HTTPS通信机制可以有效地防止这些问题。本章我们就了解一下HTTPS。 HTTP的缺点 到目前为止,我们已了解到HTTP具有相当优秀和方便的一面,然而HTTP并非只有好的一面,事物皆具两面性,它也是有不足之处的。 HTTP主要有这些不足,例举如下: 通信使用明文(不加密),内容可能会被窃听。 不验证通信方的身份,因此有可能遭遇伪装。 无法证明报文的完整性,所以有可能已遭篡改。 这些问题不仅在HTTP上出现,其他未加密的协议中也会存在这类问

抽象的螺旋 2668
上一篇: php的mysql操作工具类pdo和mysqli
下一篇: PHP微信定制开发-接口配置校验
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值