首页>>技术分享>>php杂谈>php百度ocpc封装

php百度ocpc封装

大路 php杂谈 2023-10-14 158
<?php



	if(empty($token))

	{

		$token = '12@5GxKDWTaLkUjHtHT1BXkYm9gZSX5U5ie';

	}

	

	// // 编辑一条转化数据

	$cv = array(

		'logidUrl' => 'http://www.b123.com/12345?XX=XXX&bd_vid=1111', // 您的落地页url

		'newType' => 1 // 转化类型请按实际情况填写

	);

	// 此处仅为demo, conversionTypes支持添加更多数据

	$conversionTypes = array($cv);	

	

	

	

	

	$baidu_ocpc_url = 'https://ocpc.baidu.com/ocpcapi/api/uploadConvertData';

	$retry_time = 3;	

	$reqData = array('token' => $token, 'conversionTypes' => $conversionTypes);



	//$reqData = json_encode($reqData);



	$reqData = json_encode($reqData);

	

	// $reqData = { "token": "your token",

 //        "conversionTypes": [

 //            {

 //                "logidUrl": "http://www.bb123.com/12345?XX=XXX&bd_vid=1111",

 //                "newType": 3

 //            },

 //            {

 //                "logidUrl": "http://www.bb123.com/12345?XX=XXX&bd_vid=1111",

 //                "newType": 27

 //            },

 //            {

 //                "logidUrl": "http://www.bb123.com/12345?XX=XXX&bd_vid=2222",

 //                "newType": 3

 //            }

 //        ]

 //    };

	

	// 发送完整的请求数据

	//print_r('req data: ' . $reqData . "\n");

	// 向百度发送数据

	$ch = curl_init();

	curl_setopt($ch, CURLOPT_POST, 1);

	curl_setopt($ch, CURLOPT_URL, $baidu_ocpc_url);

	curl_setopt($ch, CURLOPT_POSTFIELDS, $reqData);

	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

	curl_setopt($ch, CURLOPT_HTTPHEADER, array(

			'Content-Type: application/json; charset=utf-8',

			'Content-Length: ' . strlen($reqData)

		)

	);

	// 添加重试,重试次数为3

	for ($i = 0; $i < $retry_time; $i++) {

		$response = curl_exec($ch);

		var_dump($response);

		// echo 8;

		$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

		if ($httpCode === 200) {

			// 打印返回结果

			// do some log

			print_r('retry times: ' . $i . ' res: ' . $response . "\n");

			$res = json_decode($response, true);

			// status为4,代表服务端异常,可添加重试

			// echo 9;

			$status = $res['header']['status'];

			if ($status !== 4) {

				curl_close($ch);

				return $status === 0;

			}

		}

	}

	curl_close($ch);

	return 0;	 



?>


标签: