PHP通过CURL获取远程文件header头信息
使用CURL方法获取远程文件header头信息,与内置函数get_headers不同的是,这个方法不用完整下载文件,只是下载头部信息,速度理论会快一些。
public function getRemoteFileHeaders($url) { $options = array( CURLOPT_HEADER => true, CURLOPT_NOBODY => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_AUTOREFERER => true, CURLOPT_TIMEOUT => 30, CURLOPT_HTTPHEADER => array('Accept: */*', 'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)', 'Connection: Keep-Alive') ); $ch = curl_init($url); curl_setopt_array($ch, $options); $header = curl_exec($ch); $ret = curl_errno($ch); $error = curl_error($ch); curl_close($ch); if ($ret === 0) { $head = array(); $headArray = explode("\r\n", trim($header)); $first = array_shift($headArray); preg_match("#HTTP/[0-9\.]+\s+([0-9]+)#", $first, $code); $head['code'] = intval($code[1]); foreach ($headArray as $v) { $arr = explode(':', $v, 2); $head[trim($arr[0])] = trim($arr[1]); } return $head; } else { return $error; } }
Python request urllib 获取远程文件大小
Python request urllib 获取远程文件大小
有两个方法都可以获取文件大小
第一种使用requests库
import urllib import requests url=r'https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/PCQQ2020.exe' download=requests.get(url) print(download.headers['content-length'])
这个方法可以取到文件大小,但是缺点在于,首先会下载文件.
第二种使用urllib库
import urllib import requests url=r'https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/PCQQ2020.exe' download=urllib.request.urlopen(url) print(download.headers['content-length'])
本方法可以不下载文件,直接获取文件大小
文章乃参考、转载其他博客所得,仅供自己学习作笔记使用!!!