>백엔드 개발 >PHP 튜토리얼 >PHP Tianyi 오픈 플랫폼 SMS 전송 인터페이스 구현 방법_php 기술

PHP Tianyi 오픈 플랫폼 SMS 전송 인터페이스 구현 방법_php 기술

WBOY
WBOY원래의
2016-05-16 20:27:50844검색

이 기사의 예는 PHP Tianyi 오픈 플랫폼의 SMS 전송 인터페이스 구현 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

일시적인 필요를 위해 Tianyi 개발 플랫폼을 연구했습니다. 인증 코드를 보내는 데는 좋지만 일일 한도가 많지 않아 쓸모가 없지만 코드 도착을 100% 보장하기에는 여전히 비용이 많이 듭니다. 인터페이스를 구현할 수 있는지 테스트하기 위해 어떤 최적화 처리도 수행되지 않습니다. 그것을 사용하는 학생들은 코드를 개선해야 한다는 것을 기억하고 있으며, 상사는 코드가 필요하지 않다고 말했습니다. 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
//
date_default_timezone_set('PRC')
//access_token 가져오기
$data = "app_id=x&app_secret=x&grant_type=client_credentials"
$ch = 컬_init("https://oauth.api.189.cn/emp/oauth2/v2/access_token")
컬_setopt($ch,CURLOPT_RETURNTRANSFER,1)
컬_setopt($ch,CURLOPT_POST,1);//게시물을 사용하여 데이터 제출
cur_setopt($ch,CURLOPT_POSTFIELDS,$data);//게시물에 제출된 데이터 설정
컬_setopt($ch, CURLOPT_SSL_VERIFYPEER, false)
// 인증서에서 SSL 암호화 알고리즘이 존재하는지 확인

컬_setopt($ch, CURLOPT_SSL_VERIFYHOST, false)
$access_token = 컬_exec($ch)
컬_닫기($ch)
$access_token = json_decode($access_token,true)
//SMS 신뢰 코드 받기
$timestamp = date('연월일 H:i:s')

$param['app_id'] = "app_id=x"
$param['access_token'] = "access_token=".$access_token['access_token']
$param['timestamp'] = "timestamp=".$timestamp
ksort($param)
$plaintext = implode("&",$param)
$sign = rawurlencode(base64_encode(hash_hmac('sha1',$plaintext,app_secret,true)))
//에코 $sign;종료
$code = file_get_contents("http://api.189.cn/v2/dm/randcode/token?app_id=x&access_token={$access_token['access_token']}×tamp=".$timestamp."&sign=".$ 서명)
$code = json_decode($code,true)
$code = $code['토큰']
$코드를 에코
//인증코드 보내기
설정 해제($param,$plaintext,$sign)
$param['app_id'] = "app_id=x"
$param['access_token'] = "access_token=".$access_token['access_token']
$param['token'] = "token=".$code
$param['phone'] = "phone=15091421612"
$param['url'] = "url=http://wx.podapi.com/test.php"
$param['exp_time'] = "exp_time=2"
$param['timestamp'] = "timestamp=".$timestamp
ksort($param)
$plaintext = implode("&",$param)
$sign = rawurlencode(base64_encode(hash_hmac('sha1',$plaintext,'xx',true)))

$data = "app_id=x&access_token={$access_token['access_token']}&token={$code}&phone=15091421612&url=http://wx.podapi.com/test.php&exp_time=2×tamp={$timestamp}&sign=" .$서명
$ch = 컬_init("http://api.189.cn/v2/dm/randcode/send")
컬_setopt($ch,CURLOPT_RETURNTRANSFER,1)
컬_setopt($ch,CURLOPT_POST,1);//게시물을 사용하여 데이터 제출
cur_setopt($ch,CURLOPT_POSTFIELDS,$data);//게시물에 제출된 데이터 설정
컬_setopt($ch, CURLOPT_SSL_VERIFYPEER, false)
// 인증서에서 SSL 암호화 알고리즘이 존재하는지 확인
컬_setopt($ch, CURLOPT_SSL_VERIFYHOST, false)
$state = 컬_exec($ch)
//var_dump(curl_getinfo($ch))
컬_닫기($ch)
//에코 $상태
?>

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.