后端开发|php教程
nbsp,Curl,data,substr,CURLOPT
后端开发-php教程
Curl 采集乱码与采集不到 PHP
PHP程序是用gbk2312编码的:
织梦网站装修公司源码,vscode如何快速下载,Ubuntu不熟pxe,tomcat+环境变更,爬虫游戏代理,php 数组去掉key,上海谷歌seo多少钱,学生信息管理网站,汇成网站模板lzw
<?php
$url = “”;//gbk2312编码
//$url = “”;//gbk2312编码
//$url = “”;//gbk2312编码
vip视频接口源码,Ubuntu的swap放,tomcat错误代码大全,爬虫推荐价格,php处理大数据并发,seo拓词软爱站seolzw
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER , true);//返回获取的输出的文本流
$ret = curl_exec($ch);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
curl_close($ch);
echo $ret;
微信表白网页源码,vscode键盘输入无反应,ubuntu rom下载,tomcat 首页重定向,爬虫pythonqq音乐,php new java,天津seo优化公司排行榜lzw
?>
在采集时,是正常的,但是采集时是为空的,采集时是丢码的.
这是怎么回事呢?如何解决?有哪位怎么呀?先谢谢了!!!没多少分了,不好意思。
——解决方案——————–
别的不说,我就是来拿分的.楼主记得给全分
$curl=curl_init(\);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_USERAGENT,Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322));
$html=curl_exec($curl);
var_dump($html);
$curl=curl_init(\);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl,CURLOPT_USERAGENT,Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322));
$html=curl_exec($curl);
//$html=strstr($html,<);
$html=gzdecode($html);
var_dump($html);
function gzdecode($data) {
$len = strlen($data);
if ($len < 18
------解决方案--------------------
strcmp(substr($data,0,2),"\x1f\x8b")) {
return null; // Not GZIP format (See RFC 1952)
}
$method = ord(substr($data,2,1)); // Compression method
$flags = ord(substr($data,3,1)); // Flags
if ($flags & 31 != $flags) {
// Reserved bits are set -- NOT ALLOWED by RFC 1952
return null;
}
// NOTE: $mtime may be negative (PHP integer limitations)
$mtime = unpack("V", substr($data,4,4));
$mtime = $mtime[1];
$xfl = substr($data,8,1);
$os = substr($data,8,1);
$headerlen = 10;
$extralen = 0;
$extra = "";
if ($flags & 4) {
// 2-byte length prefixed EXTRA data in header
if ($len - $headerlen - 2 < 8) {
return false; // Invalid format
}
$extralen = unpack("v",substr($data,8,2));
$extralen = $extralen[1];
如果觉得《Curl 采摘乱码与采集不到 PHP》对你有帮助,请点赞、收藏,并留下你的观点哦!