PHP利用CURL模拟请求

方法:

function curlRequest($url,$method='',$header=[],$params=[]){
	$curl = curl_init();											//初始化
	curl_setopt($curl, CURLOPT_URL, $url);							//设置抓取的url
	curl_setopt($curl, CURLOPT_HEADER, 0);							//设置头文件的信息作为数据流输出
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);
	curl_setopt($curl, CURLINFO_HEADER_OUT, true);
	curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
	if($method !=''){
		$method = strtolower($method);
		switch($method) {
			case 'post':
				curl_setopt($curl, CURLOPT_POST, true);
				curl_setopt($curl, CURLOPT_POSTFIELDS, $params); 	//设置请求体,提交数据包
			break;
				case 'put':
				curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
			curl_setopt($curl, CURLOPT_POSTFIELDS, $params); 		//设置请求体,提交数据包
			break;
				case 'delete':
				curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'DELETE');
			break;
		}
	}
	//执行命令
	$data = curl_exec($curl);
	$request_header = curl_getinfo($curl);  						//打印请求的header信息	
	#print_r($request_header);
	curl_close($curl);
}

调用方法:

$url = 'http://l.com/api/detection_version';
$params = [
            "app_client" => "staff",
	    "_token" => "P4hvcKdaLWXa6LViZa0UM3wRJ9sdk5BQh2pHo9nG",
            "system_type" => "100001"
          ];
$header = ['cid:100001','keys:sasdfblasdf12lasdf2'];
curlRequest($url,'post',$header,$params);

猜你喜欢

转载自blog.csdn.net/yuexiage1/article/details/80538898