Archive二月 2023

php使用curl无法获取https网页内容的解决办法

方法1:

方法2:
通过设置php.ini文件,可以一劳永逸
openssl.cafile= “C:/WebServ/php7.4.4/cacert.pem”

cacert.pem下载地址:http://curl.haxx.se/ca/cacert.pem

php利用get_headers函数判断网页链接是否可以打开

get_headers()是PHP中一个系统级函数,它可以返回一个包含有服务器响应一个HTTP请求所发送的标头的数组。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息,利用它我们可以判断远程文件是否存在或者判断页面链接是否可以打开。

遇到的问题:
1. 由于有些站点对无效链接进行了技术处理,有些页面是无效的但get_headers获得的反馈是有效的,如:
http://news.china.com.cn/mts/2021-05/28/content_1171556.htm

2. 有些是有效的但get_headers反馈无效,如:
https://mbd.baidu.com/newspage/data/landingshare?preview=1&pageType=1&isBdboxFrom=1&context=%7B%22nid%22%3A%22news_9913548542233559421%22%2C%22sourceFrom%22%3A%22bjh%22%7D
http://news.tom.com/202105/4717053864.html(浏览器访问后地址自动变为https://news.tom.com/202105/4717053864.html)