function getOutput($url, $params, $signingKey) { $urlElems = parse_url($url); ksort($params); //creating signature params $signatureBaseString = buildSignatureBaseString('GET', $url, $params); $signature = buildSignature($signingKey, $signatureBaseString); var_dump($url, $params, $signingKey, $signatureBaseString, $signature); //and adding it to params $params['oauth_signature'] = $signature; $fullUrl = $url . '?' . getOauthQueryString($params); $headers = 'Authorization: OAuth realm=""'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $fullUrl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_STDERR, fopen('php://output', 'w')); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded', 'OAuth realm=""')); $output = curl_exec($ch); curl_close($ch); return $output; }
/** * 异步通知消息验证 * @param para 异步通知消息 * @return 验证结果 */ static function verifySignature($para) { $respSignature = $para[upmp_config::SIGNATURE]; // 除去数组中的空值和签名参数 $filteredReq = paraFilter($para); $signature = buildSignature($filteredReq); if ("" != $respSignature && $respSignature == $signature) { return true; } else { return false; } }
/** * 异步通知消息验证 * @param para 异步通知消息 * @return 验证结果 */ static function verifySignature($para) { $respSignature = $para[upmp_config::SIGNATURE]; // 除去数组中的空值和签名参数 $filteredReq = paraFilter($para); $signature = buildSignature($filteredReq); $file = "./" . date('Y-m-d') . "-log" . ".txt"; $filehandle = fopen($file, "a"); fwrite($filehandle, "\r\n======响应内容计算出来的值:.\r\n" . $signature . "\r\n\r\n响应回来的值:" . $respSignature . "\r\n\r\n<!--------------结束------------>\r\n\r\n\r\n"); fclose($filehandle); if ("" != $respSignature && $respSignature == $signature) { return true; } else { return false; } }