php wps介面對接以及加密簽名驗證
阿新 • • 發佈:2022-03-30
wps介面對接地址:https://open.wps.cn/docs/signature/wps-3
<?php function http_post($url,$param,$header){ $oCurl = curl_init(); if(stripos($url,"https://")!==FALSE){ curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1 } curl_setopt($oCurl, CURLOPT_URL, $url); curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt($oCurl, CURLOPT_POST,true); curl_setopt($oCurl, CURLOPT_POSTFIELDS,$param); curl_setopt($oCurl, CURLOPT_HTTPHEADER, $header); $sContent = curl_exec($oCurl); curl_close($oCurl); return $sContent; } $appid='93205503437243dabdfc73d6085119a3'; $appley='edc0830719c14079b942edbad06b4242'; $post_url='/pre/v1/convert'; $body=json_encode([ 'SrcUri'=>'http://localhost:2001/a.txt', 'FileName'=>'a.txt', 'ExportType'=>'png', 'CallBack'=>'http://localhost:2001/', 'TaskId'=>20220324 ]); $ContentMD5=md5($body); $date= gmdate ("D, d F Y H:i:s")." GMT"; $ContentType ='application/json'; $str='POST'."\n".$ContentMD5."\n".$ContentType."\n".$date."\n".$post_url; $Signature = base64_encode(hash_hmac("sha1", $str, $appley, true)); //echo "<pre>";print_r("加密前:"."\n".$str."\n"."加密後:".$Signature);die; $Authorization='WPS '.$appid.':'.$Signature; $arr_header[] = "Content-Type:application/json"; $arr_header[] = "Authorization:".$Authorization; $arr_header[] = "Content-MD5:".$ContentMD5; $arr_header[] = "Date:".$date; $post = http_post('https://dhs.open.wps.cn/pre/v1/convert',$body, $arr_header); echo "<pre>";print_r($post);die; ?>