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

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

高老师7年前 (2019-09-20)PHP1868

有时候我们需要爬一个接口,但是这个接口需要很多参数,包括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  RabbitMQ消息队列

php RabbitMQ消息队列

(1).config.php 配置文件<?php /**  * RabbitMQ_Config  */ $config = [     'host' => ...

【一】PHP多进程学习-简单创建父子进程.理解父子进程运行流程

【一】PHP多进程学习-简单创建父子进程.理解父子进程运行流程

(1).学习的目标:学会创建父子进程,并且能够区分当前进程是父还是子;了解父进程执行过程,子进程执行过程;能够用多进程执行任务(2).相关函数学习:    (2.1)pcntl_fork()执行时:       &nbs...

【二】PHP多进程学习-进程信号管理

【二】PHP多进程学习-进程信号管理

(1).学习目标:    了解常见信号类型(百度PHP支持的信号类型),(2).相关函数学习:    (2.1).pcntl_signal函数用于设置一个信号管理器接收进程信号,参数1:信号类型,参数2:回调函数,用于在接收到参数1类型的信...

cookie跨域,cookie p3p跨域

cookie跨域,cookie p3p跨域

最近在公司开发一个新的项目假设项目域名是a.com,需要接入b.com的单点登陆系统。(1).首先我们会在a.com的登陆页面用iframe引入b.com来显示登陆界面,实际上登陆验证操作都是在b.com上面(2).当b.com验证通过,会在前端ajax请求a.com的回调地址,这个回调地址目的就是...

php异步信号处理

php异步信号处理

php7.1引入了PHP异步信号处理函数pcntl_async_signals() 来处理阻塞问题。在php7之前信号处理方式有2种,第一种是基于ticks来每执行一行代码来触发执行信号监听,第二种是直接while(true){  //监听信号 }第一种方式如果某行的代码阻塞时间较长会影响...

php jsonp转json,php jsonp转数组,php jsonp转对象

php jsonp转json,php jsonp转数组,php jsonp转对象

将jsonp转为PHP数组和对象。/**  * jsonp转数组|Jsonp转json  * @param string $jsonp jsonp字符串  * @param bool $as...