今天使用CURL爬一个网页时遇到了请求为Payload的情况,只要更改一下curl配置参数既可:
1、格式化post数据
$data = array( "end" => "2021-04-08", "page" => 3, "pageSize" => 20, "query" => "", "sid" => 1186641,
"siteAddress" => "www.baidu.com",
"start" => "2021-04-07", "terminal" => "wap", ); $postData = json_encode($data);
2、声明Content-type
$header = array(
'Cookie:'.$this->so_cookie,
'Host:zhanzhang.sogou.com',
'content-type:application/json'
);
3、发送请求
$ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch , CURLOPT_URL , $url); curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch , CURLOPT_POST, 1); curl_setopt($ch , CURLOPT_ENCODING, ""); curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data); curl_setopt($ch , CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); curl_setopt($ch , CURLOPT_CUSTOMREQUEST, "POST"); $output = curl_exec($ch);
curl_close($ch);
发表评论 取消回复