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

ROBOGUIDE教程:FANUC机器人X型焊枪气动点焊焊接

FANUC机器人X型焊枪气动点焊焊接虚拟仿真实现方法。

IndRobSim 4384

onnxruntime-gpu版本选择与CUDA环境配置实战指南

本文是onnxruntime-gpu版本选择与CUDA环境配置的实战指南。针对AI模型部署中常见的GPU无法调用问题,核心在于确保onnxruntime-gpu版本与系统CUDA Toolkit版本严格匹配。文章详细讲解了如何精准确定CUDA版本、查找官方对应关系、执行正确安装命令,并通过完整测试脚本验证GPU是否成功启用,最后提供了常见问题排查与生产环境调优建议。

weixin_29164091的博客 522

php怎么实现ip代理服务器

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

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

GIS小白也能看懂的实战:5步教你将ArcGIS里的等高线和水系完美导入CAD做规划图

本文详细介绍了如何将ArcGIS中的等高线和水系数据高效导入CAD,制作专业规划底图的5个关键步骤。从数据准备、ArcGIS处理到CAD优化,涵盖坐标系设置、数据裁剪、格式转换等实用技巧,特别适合设计规划领域的新手快速掌握GIS与CAD协同工作流程。

weixin_27966471的博客 425

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

RC电路(一):微分|积分

的取值不同,会导致输出波形和输入波形之间的关系也不同,由此也会产生不同的应用。输出为0,随着电容充满电,运放-输入端得到的分压为正最大值,可等效成一个电压源,且电压不可突变,此时电流反向为最大值,开始充电时的容抗为0,电压不可突变则电压差为0,运放。开始充电时的容抗为0,电压不可突变则电压差为0,运放。输入端得到的分压也不可突变,随着电容放完电,于是。,因电容上电压不能突变(来不及充电,相当于短路,由上分析可得积分运算电路中,输出为运放的负最大峰值,随着电容充满电,输出为运放的正最大峰值,随着电容放完电,

既有随处可栖的江湖,也有追风逐梦的骁勇! 1万+

【CVPR 2025】低光增强HVI论文精读与源码复现---part1 论文网络精读

【CVPR 2025】本文参考论文HVI: A New Color Space for Low-light Image Enhancement part1 在文章中对论文核心网络与原理展开详细解释 part2 对论文公开代码的arch网络与其他核心部分展开详细解释

BOB_BOB_BOB_的博客 3257

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

BrepNet实战:5分钟搞定三维CAD模型的加工特征识别(附Python代码)

本文详细介绍了BrepNet在三维CAD模型加工特征识别中的实战应用,通过Python代码演示了从环境搭建到模型训练的全流程。BrepNet基于边界表示(BRep)的深度学习框架,能够高效识别加工特征,显著提升工业设计和智能制造领域的效率。文章还提供了性能优化和部署建议,帮助开发者快速实现AI驱动的几何特征识别。

weixin_29044713的博客 506

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万+

Carla-UE4Editor导入RoadRunner地图文件(保姆级教程)

以Carla官网导入RoadRunner地图的标准文档为参考,里面增添了很多细节和注意事项,遇到问题的小伙伴过来看看吧。

DSK_981029的博客 1万+

百万 Token 压力实测:1M Context 的真实能力边界在哪里?

本文揭示了长上下文模型的性能衰减规律:1M上下文存在"容量曲线"与"质量曲线"的分歧,512K是可靠拐点。通过MRCR测试发现,不同任务类型衰减差异显著——检索任务在512K后性能下降30.6%,而生成任务仅下降5%。研究提出三阶段补偿策略:三明治注入(首尾指令强化)、语义面包屑(位置标记)、引用检查(强制溯源),可将512K-1M区间的可用性提升20%。工程实践表明,中段区域(30-70%位置)是注意力薄弱区,需要特殊处理。最终建议:关键检索任务控制在512K内,关联推理任务可扩展至

liuzhupeng的专栏 337

带有 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

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

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

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

Bazingaea的博客 4146

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

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

futurn_hero的博客 941

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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、付费专栏及课程。

余额充值