这两天一直在对接一个https的接口

通过本地postman完美链接后再服务器一直报错

出现问题:linux 下 curl可以正常访问 但是PHP请求一直返回false

测试方法:var_dump(curl_error($ch)); <在close之前>

  返回:“SSL: certificate subject name 'xxx' does not match target host name 'www.miniscores.cn'”

  这说明ssl证书有问题,如果对方没有给定证书。就忽略吧。

解决办法:

  1、忽略证书(两个都要加上!否则并不能忽略):

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

  2、自然是让对方提供证书啦

另转大神(TAOisMESS)的其他问题解决方案:

在命令行中使用curl调用跳过SSL证书检查的方法,需要的朋友可以参考下。
 
 
症状:php curl调用https出错 
排查方法:在命令行中使用curl调用试试。 
原因:服务器所在机房无法验证SSL证书。 
解决办法:跳过SSL证书检查。 
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
 
症状:php curl调用curl_exec返回bool(false),命令行curl调用正常。 
排查方法: 
var_dump(curl_error($ch)); 
返回: 
string(23) "Empty reply from server" 
再排查: 
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); 
返回: 
HTTP/1.1 100 Continue 
Connection: close 
原因:php curl接收到HTTP 100就结束了,应该继续接收HTTP 200 
解决方案: 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); 

php curl访问https 域名接口一直报错的问题的更多相关文章

  1. centos7内核升级及curl访问https证书过期处理

    centos7内核升级及curl访问https证书过期处理 先看下当前系统的linux内核版本 uname -r 3.10.0-229.el7.x86_64 升级步骤 1.rpm --import h ...

  2. 抓取https网页时,报错sun.security.validator.ValidatorException: PKIX path building failed 解决办法

    抓取https网页时,报错sun.security.validator.ValidatorException: PKIX path building failed 解决办法 原因是https证书问题, ...

  3. XmlDocument.Load(url) url是https远程时,报错" 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系。" "根据验证过程,远程证书无效。"

    XmlDocument.Load(url)  url是https远程时,报错" 基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系."   "根据验证过程, ...

  4. 调用webservice接口,报错:(十六进制值0x01)是无效的字符

    #事故现场 调用webservice接口,报错:(十六进制值0x01)是无效的字符. 如图: 意思是webservice返回的信息中包含无效的字符,无法解析成xml: #分析 使用postman向we ...

  5. PHP CURL访问HTTPS使用详解

    三年前写过一篇<一个简陋的支持HTTPS的PHP CURL封装函数>,当时只是知其然不知其所以然,今天来详细梳理一下. https服务器post数据 代码如下 复制代码 function ...

  6. 用curl访问HTTPS站点并登录

    开发网站,少不了测试.现在的网站为了加强安全性,都启用了HTTPS协议.所谓HTTPS,也就是HTTP文本在SSL协议中传输.用curl命令行来测试HTTPS站点是个很有用的功能,写点脚本,就可以做功 ...

  7. [PHP] curl访问https与CA证书问题

    CA证书,用来在调用HTTPS资源的时候,验证对方网站是否是CA颁布的证书,而不是自己随便生成的 curl命令1.需要下载CA证书 文件地址是 http://curl.haxx.se/ca/cacer ...

  8. 用curl访问HTTPS站点并登录(对HTTP返回的结果特别清楚)

    开发网站,少不了测试.现在的网站为了加强安全性,都启用了HTTPS协议.所谓HTTPS,也就是HTTP文本在SSL协议中传输.用curl命令行来测试HTTPS站点是个很有用的功能,写点脚本,就可以做功 ...

  9. 使用curl访问https

    在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具.然而在使用cr ...

  10. Loadrunner之https协议录制回放报错如何解决?(九)

    一.录制中遇到报错27778的问题(如下图1),即关于录制的链接为https开头的问题,分两个步骤解决,如下: 图1 https访问报错解决步骤如下: 1.修改Vuser-->Run-time ...

随机推荐

  1. SQLBI_精通DAX课程笔记_01_DAX介绍

    一:函数式语言 DAX是一个函数式语言,应用于Analysis Services , PowerPivot , 和Power Bi . 二:共同与不同 2.1  共同点 DAX与PowerPivot  ...

  2. 《史记 XuYu列传》

    前言 甲辰年二月十九,余记挂友人须臾.大醉,作此篇以悼念故友.忆往昔同窗之情,言语无不有经天纬地之能,举手投足间便可斩敌方上将.能文能武,乃当世之奇才,其言语中有大智慧.(文体并不重要) 吃饭时 Xu ...

  3. 洛谷 P5595 歌唱比赛

    题目链接:歌唱比赛 思路 根据题目分析可得,假如小x的点赞数是123111,小y的点赞数是234111,则字符串的第4为到第6位结果都为Z,分别为对比(111,111),(11,11),(1,1),字 ...

  4. Win10任务栏图标居中

    win+q键搜索并打开字符映射表 点击第五行的空白字符,然后先后点击下方的选择以及复制 在桌面新建一个文件夹,然后重命名,将刚才复制的空白字符粘贴进去,如图,这样我们就拥有了一个空白名称的文件夹 在任 ...

  5. 忘记Linux密码这样破解

    忘记了Linux的密码该怎么办呢?有人想到重装系统.我想说除非你不想干了! 在这里使用CentOS7来教大家怎么 破解Linux的密码 (不能知道原来的密码,但是可以强行修改) 1.在grub引导界面 ...

  6. Stable Diffusion(二)WebUI使用指南

    1. 前言 基于 https://stable-diffusion-art.com/ 内的教程进行翻译与整理,帮助快速上手 stable-diffusion 的使用. 2. 环境 AWS DeepLe ...

  7. Linux 网络编程的5种IO模型 总结

    背景 在网络编程中,经常会用到一些模型,在这里做一下总结. 正文 Linux 网络编程的5种IO模型:阻塞IO与非阻塞IO 这是最简单的模型,一般配合多线程来实现. Linux 网络编程的5种IO模型 ...

  8. 为给git设置代理

    为给git设置代理 通过软件形式为git设置代理 命令(端口改为自己的端口): git config --global https.proxy http://127.0.0.1:1083 git co ...

  9. 嵌入式ARM端测试手册——全志T3+Logos FPGA评估板(下)

    前 言 本指导文档适用开发环境: Windows开发环境:Windows 7 64bit.Windows 10 64bit Linux开发环境:Ubuntu18.04.4 64bit 虚拟机:VMwa ...

  10. Log4j日志输出级别详解

    log4j定义了8个级别的log 日志记录器(Logger)的行为是分等级的: 1.分为OFF(关闭所有日志).FATAL(致命错误).ERROR(异常报错).WARN(潜在错误).INFO.DEBU ...