php wps接口对接以及加密签名验证

 

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;


?>

  

 

posted @ 2022-03-30 09:35  浪、子  阅读(477)  评论(1编辑  收藏  举报