有时候我们需要爬一个接口,但是这个接口需要很多参数,包括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
(1).config.php 配置文件<?php /** * RabbitMQ_Config */ $config = [ 'host' => ...
(1).学习的目标:学会创建父子进程,并且能够区分当前进程是父还是子;了解父进程执行过程,子进程执行过程;能够用多进程执行任务(2).相关函数学习: (2.1)pcntl_fork()执行时: &nbs...
(1).学习目标: 了解常见信号类型(百度PHP支持的信号类型),(2).相关函数学习: (2.1).pcntl_signal函数用于设置一个信号管理器接收进程信号,参数1:信号类型,参数2:回调函数,用于在接收到参数1类型的信...
最近在公司开发一个新的项目假设项目域名是a.com,需要接入b.com的单点登陆系统。(1).首先我们会在a.com的登陆页面用iframe引入b.com来显示登陆界面,实际上登陆验证操作都是在b.com上面(2).当b.com验证通过,会在前端ajax请求a.com的回调地址,这个回调地址目的就是...
php7.1引入了PHP异步信号处理函数pcntl_async_signals() 来处理阻塞问题。在php7之前信号处理方式有2种,第一种是基于ticks来每执行一行代码来触发执行信号监听,第二种是直接while(true){ //监听信号 }第一种方式如果某行的代码阻塞时间较长会影响...
将jsonp转为PHP数组和对象。/** * jsonp转数组|Jsonp转json * @param string $jsonp jsonp字符串 * @param bool $as...