记php cmsv9采集管理,采集图片地址协议为https不能下载的问题
原因:cmsv9原始的采集管理代码中没有加“https”协议的处理方法,所以返回的地址会有问题,需要在原始代码中加入https的请求协议的处理方法。
文件路径:\phpcms\libs\classes\attachment.class.php
需要修改: fillurl($surl, $absurl, $basehref = '') 方法
代码如下:
function fillurl($surl, $absurl, $basehref = '') {if($basehref != '') {$preurl = strtolower(substr($surl,0,6));if($preurl=='http://' || $preurl=='https:' || $preurl=='ftp://' ||$preurl=='mms://' || $preurl=='rtsp://' || $preurl=='thunde' || $preurl=='emule://'|| $preurl=='ed2k://')return $surl;elsereturn $basehref.'/'.$surl;}$i = 0;$dstr = '';$pstr = '';$okurl = '';$pathStep = 0;$surl = trim($surl);if($surl=='') return '';$urls = @parse_url(SITE_URL);$HomeUrl = $urls['host'];$BaseUrlPath = $HomeUrl.$urls['path'];$BaseUrlPath = preg_replace("/\/([^\/]*)\.(.*)$/",'/',$BaseUrlPath);$BaseUrlPath = preg_replace("/\/$/",'',$BaseUrlPath);$pos = strpos($surl,'#');if($pos>0) $surl = substr($surl,0,$pos);if($surl[0]=='/') {$okurl = 'http://'.$HomeUrl.'/'.$surl;} elseif($surl[0] == '.') {if(strlen($surl)<=2) return '';elseif($surl[0]=='/') {$okurl = 'http://'.$BaseUrlPath.'/'.substr($surl,2,strlen($surl)-2);} else {$urls = explode('/',$surl);foreach($urls as $u) {if($u=="..") $pathStep++;else if($i<count($urls)-1) $dstr .= $urls[$i].'/';else $dstr .= $urls[$i];$i++;}$urls = explode('/', $BaseUrlPath);if(count($urls) <= $pathStep)return '';else {$pstr = 'http://';for($i=0;$i<count($urls)-$pathStep;$i++) {$pstr .= $urls[$i].'/';}$okurl = $pstr.$dstr;}}} else {$preurl = strtolower(substr($surl,0,6));if(strlen($surl)<7)$okurl = 'http://'.$BaseUrlPath.'/'.$surl;elseif($preurl=="http:/" || $preurl=='https:' || $preurl=='ftp://' ||$preurl=='mms://' || $preurl=="rtsp://" || $preurl=='thunde' || $preurl=='emule:'|| $preurl=='ed2k:/')$okurl = $surl;else$okurl = 'http://'.$BaseUrlPath.'/'.$surl;}$preurl = strtolower(substr($okurl,0,6));if($preurl=='ftp://' || $preurl=='https:' || $preurl=='mms://' || $preurl=='rtsp://' || $preurl=='thunde' || $preurl=='emule:'|| $preurl=='ed2k:/') {return $okurl;} else {$okurl = preg_replace('/^(http:\/\/)/i','',$okurl);$okurl = preg_replace('/\/{1,}/i','/',$okurl);return 'http://'.$okurl;}}
记php cmsv9采集管理,采集图片地址协议为https不能下载的问题相关推荐
- php图片地址替换,php把采集内容中图片地址下载并替换成本地地址
把字符串中地址全部获取到一个数组我们利用preg_match_all函数 代码如下 复制代码 $str=' '; $pattern="//"; preg_match_all($pa ...
- python 图片地址_python解码data:image开头的图片地址
比如图片地址是 src="https://img-blog.csdnimg.cn/2022010623444359726.gif" 提取出其中的base64地址,然后base64解 ...
- 1688API,按图搜索1688商品(拍立淘),以图搜物,通过图片地址,获取商品。
688的API开发接口,我们需要做下面几件事情. 1)开放平台注册开发者账号: 2)然后为每个淘宝应用注册一个应用程序键(App Key) : 3)下载1688API的SDK并掌握基本的API基础知识 ...
- 如何不编程也能使用爬虫采集图片或图片地址
采集图片,或者采集图片的链接地址是常见的数据采集需求.如何在不写代码编程的情况下,又可以简单有效的抓取到图片或图片地址呢? 首先,我们使用的工具是前嗅大数据的ForeSpider数据采集系统.在前嗅大 ...
- linux用命令下载图片,Linux命令行中采集指定页面的图片地址及图片下载
获取指定页面中的图片地址: curl news.baidu.com | grep -Eio '(http|ftp|https)://[A-Za-z0-9_./]+(.jpg|.png|.gif)' 复 ...
- 图片采集器-网页图片批量采集器免费
图片采集器可以采集网站上的各种图片,每个人都可以采集到各种高清图源.支持任意格式的图片采集,只需要导入链接即可批量采集图片.还有更多的采集方式:输入关键词全网图片采集/任意网站所有图片采集!不仅可以采 ...
- 火车头采集器 页面图片等信息采集
火车头采集器 页面图片等信息采集 有些采集的页面中有图片或者其他内容如链接的word文档等等,如果采集下来,并保持链接呢. 火车头采集器中给了较好的操作. 在内容采集中,选择内容下载,如果仅仅是图片, ...
- dede采集文章内容图片不显示
dede采集文章内容图片不成功 开始这个问题也困扰了我很久啊,就是所采集的站图片链接用了相对地址而不是绝对地址,这样的话采集回来后相对地址就变成相对自己的域名,就会出现错误,下面说说我的解决办法: 其 ...
- python阿里巴巴_阿里图片采集,python selenium 采集阿里巴巴商品图片数据
[Python] 纯文本查看 复制代码#采集阿里巴巴商品图片数据 from selenium import webdriver import time import requests import o ...
最新文章
- 一文彻底搞清 Gradle 依赖【转】
- re:Invent解读:没想到你是这样的AWS
- boost::mpl模块实现is_sequence相关的测试程序
- string类型比较_redis存json数据时选择string还是hash
- 快速构建Windows 8风格应用33-构建锁屏提醒
- 博客群发(2)--实现登陆
- python哪本书好看_python入门看哪本书好
- codeforces 762E(cdq分治)
- 【“达观杯”冠军分享】预训练模型彻底改变了NLP,但也不能忽略传统方法带来的提升...
- List之LinkedList与ArrayList区别
- LTE无线网络规划的四大要点
- 妄想山海测试服下载for android,妄想山海测试服
- html报406错误,Ajax请求出现406的原因和解决方法
- nodejs 系统 临时文件夹
- 2015年最新国内十大应用商店广告报价表
- 接口管理工具Rap的安装
- 玩客云添加到我的计算机,电脑连接玩客云访问玩客云硬盘空间传输文件方法
- 关于c基础实现简易计算器的代码(加减乘除)
- Kotlin的访问权限管理
- 燃气管道泄漏监测监控报警管理系统软件解决方案