竹笋

首页 » 问答 » 环境 » 不用任何框架,PHPCURL编写内容抓
TUhjnbcbe - 2023/5/7 21:36:00
白癜风吃什么好得快 http://disease.39.net/bjzkbdfyy/171213/5928775.html

业务拓张过程中,经常要做一些报表汇总数据,有的平台设计得比较好,有提供查询导出功能,但是大多数平台没有这个功能。我们公司的业务小姐姐经常会跟我们抱怨说,太难了。

在征求业务部门同意后,我们拿到了相关的平台已经账号信息。

分析平台

经过分析了解到,大部分平台都是ajax,然后加页码,返回json串数据集。这里有个前提是需要登录的,我们又分析了这些平台的cookie和session,相关登录成功标志符都存在cookie里面,接下来就好办了

测试

在写之前我们做了个测试,用postman接口请求工具,模拟了几次请求,看看会不会响应这些数据,结果发现,这些平台都能响应。如果不能响应,我们就要去看平台是否还有其他验证方式,导致异常的。

编写脚本

首先我们写了一个CURL_POST方法,供代码调用。

注:下述所有代码均为演示,无实际意义,仅供参考

/***header头部报文数组*$data数据数组*$urlpost请求地址**/functioncurl_post($header,$data,$url){$o=;foreach($dataas$k=$v){$o.=$k=.urlencode($v).;}$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_POST,0);curl_setopt($ch,CURLOPT_POSTFIELDS,$o);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_HTTPHEADER,$header);$result=curl_exec($ch);curl_close($ch);if($result==NULL){return0;}return$result;}

调用方法很简单。

$url=请求地址写这里;$header=array(Content-Type:application/x-

1
查看完整版本: 不用任何框架,PHPCURL编写内容抓