您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP之抓取网页数据

2025/11/18 6:10:17发布23次查看
最近在公司开发一项目、配合客户端人员开发接口,接口中需要接受客户端人员传递过来的头部信息,所以在浏览器中访问这个接口就无法访问、因为你传递的参数不全,最近想了一个方法:那就是在本地模拟一些数据提交,这个时候本人用到的是fsockopen函数,这个函
最近在公司开发一项目、配合客户端人员开发接口,接口中需要接受客户端人员传递过来的头部信息,所以在浏览器中访问这个接口就无法访问、因为你传递的参数不全,最近想了一个方法:那就是在本地模拟一些数据提交,这个时候本人用到的是fsockopen函数,这个函数挺不错的。。

function index(){ $posturl = xxx; $did = '352110051958276'; $key = md5($did.$this->keym); $ms = $this->require_by_socket(mm,action,$posturl,$did,$key); //$this->display(); echo $ms; } function require_by_socket($action,$method,$posturl,$did,$key) { $fp = fsockopen ( $posturl, 80, $errno, $errstr, 30 ); if (! $fp) { echo $errstr ($errno)
\n; } else { //$params = array ('did' => 1009, 'ver' => '199/9/201208','filmid' => 18 ); //$post = http_build_query($params); $post = did=352110051958276&ver=199/22/20121222&filmid=18&model=htc&os=and&pid=1&refresh=1; //echo $post;exit; $header = post /service/index.php/$action/$method http/1.1\r\n; $header .= host: $posturl\r\n; $header .= content-type:application/x-www-form-urlencoded . \r\n; $header .= content-length: . strlen ( $post ) . \r\n; $header .=did:$did\r\n; $header .=key:$key\r\n; //这里就是 提交header头部信息 $header .= connection: close\r\n\r\n; $header .= $post.\r\n; $inheader = 1; fputs ( $fp, $header ); while ( ! feof ( $fp ) ) { $result = fgets ( $fp, 1024 ); //去除请求包的头只显示页面的返回数据 if ($inheader && ($result == \n || $result == \r\n)) { $inheader = 0; } //echo $inheader;exit; if ($inheader == 0) { $info .= $result; } } fclose ( $fp ); return $info; } }
备注:以上 $header .=did:$did\r\n;$header .=key:$key\r\n;
这些参数其实就是提交开发者想要的头部参数信息,然后您可以通过函数处理这样参数 就可以获取您想要的。
还分享下另外的一种方式:
curl:
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product