关于curl在线上环境报400的问题

问题:测试环境调用三方接口正常,线上环境接口报错400。

排查:两个方向:1代码问题,2线上ip没在三方控制后台加白名单

           首先postman模拟请求三方接口正常,于是在postman生成curl指令。
curl --location --request POST 'https://miniapp.xxx.com/xxx/xxx/xxx/xxx/xxx' \
--header 'content-type: application/json' \
--header 'appId: 123456789' \
--header 'secretKey: 123456789abcdefghijklmn' \
--header 'deviceid: 1234567' \
--header 'channelid: 1234567' \
--header 'accessToken: abcdefghijk123456789'
在报错的线上机器执行,可以执行成功,证明不是ip白名单的问题。
那就是代码问题了。

在线上报错那台机器上写个脚本a.php,把自己那段代码贴过去,一遍一遍去调试。最终发现加上这行代码curl_setopt($ch, CURLOPT_POSTFIELDS, "{}");就可以了,即body为空时也需要显式的写这行代码。

原因:线上php扩展curl的版本7.25.0,测试版本7.46.0。
cURL 7.29.0 及之前的版本或HP 5.5.x 及之前的版本,请求体为空且没有设置CURLOPT_POSTFIELDS,可能会导致报错。请注意,这只是针对较旧版本的cURL和PHP扩展的一般性指导。具体的版本和行为可能因操作系统、编译选项和其他因素而有所不同。具体可查阅相关文档或向PHP和cURL社区寻求支持。

解决:加上这行代码:curl_setopt($ch, CURLOPT_POSTFIELDS, "{}");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/131757.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯每日一题2023.11.2

题目描述 等差素数列 - 蓝桥云课 (lanqiao.cn) 题目分析 对于此题我们需要求出最小的公差并且长度为10, 1.确保序列开始为素数 2.确定枚举的个数 注意:序列中数只是d的变化,可以通过此计算将开始数字后9个数字都计算出来,d是…

【Qt之QtXlsx模块】安装及使用

1. 安装Perl,编译QtXlsx源码用 可以通过命令行进行查看是否已安装Perl。 下载及安装传送门:链接: https://blog.csdn.net/MrHHHHHH/article/details/134233707?spm1001.2014.3001.5502 1.1 未安装 命令:perl --version 显示以上是未安装…

C#中LINQtoSQL只能在.NetFramework下使用,不能在.net 下使用

目录 一、在net7.0下无法实现LINQtoSQL 1.VS上建立数据库连接 2.VS上创建LINQtoSQL 二、在.NetFramework4.8下成功实现LINQtoSQL 1.VS上建立数据库连接 2.VS上创建LINQtoSQL 三、结论 四、理由 本文是个人观点,因为我百般努力在.net7.0下无法实现LINQtoSQL的…

海康Visionmaster-全局脚本:方案加载完成信号发给通 信设备的方法

需要在方案加载完成后,发送加载完成信号到全局变量,发送给通信设备。 全局脚本的使用可以通过打开示例,完成常用的基本功能开发。 打开全局通信代码后,在脚本中添加代码

springboot前后端时间类型传输

springboot前后端时间类型传输 前言1.java使用时间类型java.util.Date2.java使用localDateTime 前言 springboot前后端分离项目总是需要进行时间数据类型的接受和转换,针对打代码过程中不同的类型转化做个总结 1.java使用时间类型java.util.Date springboot的项目中使用了new …

vue2知识补充

1.页面传参及传参之后刷新页面数据丢失 query参数有多层对象时,刷新丢失可以使用JSON.stringify解决 params参数丢失:还没试过怎么解决 methods: {// query和params区别// query类似 get,跳转之后页面 url后面会拼接参数,类似?id1&#xf…

http和https分别是什么?

HTTP(Hypertext Transfer Protocol)和HTTPS(HTTP Secure)是互联网上应用最为广泛的两类协议,都是用于在网络中进行数据交换。 1.HTTP: HTTP是一种无状态的协议,即服务器并不保持与客户端的连接…

Proteus仿真--1602LCD显示电话拨号键盘按键实验(仿真文件+程序)

本文主要介绍基于51单片机的LCD1602显示电话拨号键盘按键实验(完整仿真源文件及代码见文末链接) 仿真图如下 其中右下方12个按键模拟仿真手机键盘,使用方法同手机键一样,拨打手机号码则在液晶显示屏上显示对应的号码 仿真运行…

DDoS类型攻击对企业造成的危害

超级科技实验室的一项研究发现,每十家企业中,有四家(39%)企业没有做好准备应对DDoS攻击,保护自身安全。且不了解应对这类攻击最有效的保护手段是什么。 由于缺乏相关安全知识和保护,使得企业面临巨大的风险。 当黑客发动DDoS攻击…

译文:我们如何使 Elasticsearch 7.11 中的 date_histogram 聚合比以往更快

这篇文章是ES7.11版本的文章,主要学习的是思路,记录在这里留作以后参考用。 原文地址:https://www.elastic.co/cn/blog/how-we-made-date-histogram-aggregations-faster-than-ever-in-elasticsearch-7-11 正文开始: Elasticsea…

【数组】有序数组的平方

## 977.有序数组的平方 力扣题目链接 (opens new window) 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums [-4,-1,0,3,10]输出:[0,…

初阶JavaEE(15)(Cookie 和 Session、理解会话机制 (Session)、实现用户登录网页、上传文件网页、常用的代码片段)

接上次博客:初阶JavaEE(14)表白墙程序-CSDN博客 Cookie 和 Session 你还记得我们之前提到的Cookie吗? Cookie是HTTP请求header中的一个属性,是一种用于在浏览器和服务器之间持久存储数据的机制,允许网站…

g.Grafana之Gauge的图形说明

直接上操作截图 1. 创建一个新的Dashboard 2.为Dashboard创建变量 【General】下的Name与Label的名称自定义 【Query options】 下的Group可以填写Zabbix内的所有组/.*/ , 然后通过Regex正则过滤需要的组名 3.设置Dashboard的图形 我使用文字来描述下这个图 1.我们在dash…

Azure 机器学习 - 使用 ONNX 对来自 AutoML 的计算机视觉模型进行预测

目录 一、环境准备二、下载 ONNX 模型文件2.1 Azure 机器学习工作室2.2 Azure 机器学习 Python SDK2.3 生成模型进行批量评分多类图像分类 三、加载标签和 ONNX 模型文件四、获取 ONNX 模型的预期输入和输出详细信息ONNX 模型的预期输入和输出格式多类图像分类 多类图像分类输入…

Intel oneAPI笔记(2)--jupyter官方文档(oneAPI_Intro)学习笔记

前言 本文是对jupyterlab中oneAPI_Essentials/01_oneAPI_Intro文档的学习记录,包含对SYCL、DPC extends SYCL、oneAPI Programming models等介绍和SYCL代码的初步演示等内容 oneAPI编程模型综述 oneAPI编程模型提供了一个全面而统一的开发人员工具组合&#xff0…

【ROS】Nav2源码之nav2_behavior_tree详解

【ROS】郭老二博文之:ROS目录 1、简介 nav2_bt_navigator实现ROS2节点以行为树的方式来处理。 nav2_behavior_tree模块提供如下功能: 一个c++模板类,可以轻松地将ROS2 动作(actions)和服务(services)集成到行为树(Behavior Trees)中。特定于导航的行为树节点。通用的Behav…

力扣382.链表随机节点(java利用数组随机返回节点值)

Problem: 382. 链表随机节点 文章目录 思路解题方法复杂度Code 思路 注意链表与数组的特性,对于随机访问读取的操作利用数组可以较方便实现,所以我们可以将链表中的节点值先存入到数组中最后再取出随机生成节点位置的值。 解题方法 1.生成List集合与Rand…

跨域(CORS)和JWT 详解

跨域 (CORS) 概念 同源策略 (Same-Origin Policy) 同源策略是一项浏览器安全特性,它限制了一个网页中的脚本如何与另一个来源(域名、协议、端口)的资源进行交互。这对于防止跨站点请求伪造和数据泄露非常重要。 为什么需要跨域? 跨域问题通…

论文阅读—— BiFormer(cvpr2023)

论文:https://arxiv.org/abs/2303.08810 github:GitHub - rayleizhu/BiFormer: [CVPR 2023] Official code release of our paper "BiFormer: Vision Transformer with Bi-Level Routing Attention" 一、介绍 1、要解决的问题:t…

Mybatis的工作原理

一、Mybatis的工作原理 1.构建 mybatis 配置文件 构建 mybatis 的config,xml,java的mapper&#xff0c;entity类 config文件 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0/…