当前位置:首页 > PHP > 正文内容

PHP最快方式模拟curl,PHP最快爬虫模拟方法

高老师6年前 (2019-09-20)PHP1776

有时候我们需要爬一个接口,但是这个接口需要很多参数,包括header和cookie要去编写,使用php curl模拟实在太慢。我们可以通过浏览器的network来复制请求为curl命令。

例如我需要模拟请求接口地址:https://www.xkmz.cc/Ajax/Debug/delly,我们只需要在谷歌浏览器的network下找到对应的接口请求,鼠标右键选择Copy => Copy as curl,即可将这个请求复制为curl请求命令。

特别提示,这里的Copy as curl (cmd)和 Copy as curl (bash)分别代表win和linux的curl命令,通常我建议大家用火狐浏览器来生成curl命令,更加标准,火狐生成的命令默认就是当前系统的命令。

生成的curl命令是100%完全真正模拟的请求,建议在命令行执行测试。


例如我生成的curl命令为:

curl 'https://www.xkmz.cc/Ajax/Debug/delly' -H 'sec-fetch-mode: cors' -H 'origin: https://www.xkmz.cc' -H 'accept-encoding: gzip, deflate, br' -H 'accept-language: zh-CN,zh;q=0.9' -H 'x-requested-with: XMLHttpRequest' -H 'cookie: PHPSESSID=jtvij4ie3gho559iam07taecl7899; skey=4a2a5f7bd8553ad175ea25d6f17fd952; yd_cookie=fcb30e6d-df04-45f7fced012f024a614263ccb53b82b2402b; Hm_lvt_3588845f64e5333198c26237db9c4bb6=1568507975,1568508261,1568555167,1568989627; Hm_lpvt_3588845f64e5333198c26237db9c4bb6=1568989627; usertoken=08f29f86d028e51ad59f7c9c79a9ad0d' -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36' -H 'content-type: application/x-www-form-urlencoded; charset=UTF-8' -H 'accept: text/html, */*; q=0.01' -H 'referer: https://www.xkmz.cc/User/qqset/qid/178397.html' -H 'authority: www.xkmz.cc' -H 'sec-fetch-site: same-origin' --data 'qid=178397&id=418693&n=2' --compressed


然后通过开源工具将curl命令转换为php代码,开源工具地址:https://github.com/incarnate/curl-to-php

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/105.html

分享给朋友:

“PHP最快方式模拟curl,PHP最快爬虫模拟方法” 的相关文章

php调用 java webservice接口

php调用 java webservice接口

php调用Webservice基本语法如下:$url ='xxxxxxx.cn'  //链接服务器端 $client = new SoapClient($url);通过以上语法已经连接到webservice,也可将wsdl在本地使用,...

php 经纬度获取城市,php 经纬度转城市

php 经纬度获取城市,php 经纬度转城市

通过经纬度转换为城市名称,并获得城市的编号,通常在全国类型的商城中比较通用。//经纬度转城市名称(返回城市id,城市名称) //$ak开发密钥,$lat纬度,$lng经度,$type返回数据类型 public function getCityName($ak,$lat,$lng)...

php 数组转换xml,php 数组转成xml,php数组转xml 函数

php 数组转换xml,php 数组转成xml,php数组转xml 函数

源码:特别适用于微信支付中通知微信支付网关function array2xml($arr, $level = 1) { $s = $level == 1 ? "<xml&g...

php trait的使用

php trait的使用

PHP不像net支持多继承,自身只支持单继承,为了解决这个问题,php出了Trait这个特性,减少单继承语言的限制。并且能让代码复用率更高。说白了就是一个对象的属性和方法扩展工具一样。例如:trait exts {     public f...

php  while  true  cpu占用100%

php while true cpu占用100%

在编写多进程的实例中我在每个进程中使用如下代码://调用等待信号的处理器 while (true) {     pcntl_signal_dispatch(); }开启5个进程,cpu直接100%修正之后的代码://调用等待信号的处理器 while&...

packagist包发布稳定版

packagist包发布稳定版

自己的composer已经发布到packagist,但是无法使用composer require easy-task/easy-task来安装,只能在配置文件使用如下方式安装:"require": {     "easy...