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

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

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

有时候我们需要爬一个接口,但是这个接口需要很多参数,包括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单例模式

PHP单例模式

<?php /*  *   单粒模式,只能造出一个对象  1.肯定每次new只能返回一个对象,可以使用静态方法解决  2.子类继承也禁止重写构造方法,添加final搞定  *   */    ...

php 开启错误提示,php 关闭错误提示

php 开启错误提示,php 关闭错误提示

开启错误提示代码:ini_set("display_errors", "On"); error_reporting(E_ALL | E_STRICT);关闭错误提示代码:error_reporting(E_ALL ^&n...

 php max input vars,max input vars限制,max input vars 设置

php max input vars,max input vars限制,max input vars 设置

在一个正式项目中操作人员提交239个产品信息进行保存,但是系统却提示没有提交239个产品,于是开启错误信息,显示如下:Warning: Unknown: Input variables exceeded 1000. To incr...

php迭代器学习

php迭代器学习

php官方已经提供了Iterator(迭代器)接口,通过网上资料的学习,目前看适合超大集合或者数组提取使用。学习一个函数的实现对比内存占用差距.使用迭代器和普通循环实现range()函数。(1).普通循环实现range()函数。function newrange($low, $h...

PHP二维数组排序,PHP多维数组排序, array_multisort()

PHP二维数组排序,PHP多维数组排序, array_multisort()

使用php函数array_multisort()即可实现和SQL一样的order by排序. 例如我们需要对会员表按照主键降序排列,年龄升序排列://会员表数据 $list = []; $list[] = ['mid' =>&n...

 php监听事件,php触发事件

php监听事件,php触发事件

逛公众号文章看到文章"php实现事件监听与触发的方法,你用过吗?",我就好奇了,php又不是asp.net的webform,哪里来的服务端事件监听。于是学习了一波。先看下监听类:class Event {     /** &nbs...