마스터욱 0 8 0 0

아래는 카카오 로그인 API 시에 Authorization 을 사용하는 예시이다.

 

// Initialize

$url    = "https://kapi.kakao.com/v2/user/me";

$method = "GET";

$info   = parse_url($url);

$req    = '';

$data   = '';

$line   = '';

$agent  = 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)';

$linebreak  = "\r\n";

$headPassed = false;

 

// Setting Protocol

//echo $info['scheme'];exit;

switch($info['scheme'] = strtoupper($info['scheme']))

{

    case 'HTTP':

        $info['port']   = 80;

        break;

 

    case 'HTTPS':

        $info['ssl']    = 'ssl://';

        $info['port']   = 443;

        break;

 

    default:

        return false;

}

 

// Setting Path

if(!$info['path'])

{

    $info['path'] = '/';

}

 

// Setting Request Header

switch($method = strtoupper($method))

{

    case 'GET':

        if($info['query'])

        {

            $info['path'] .= '?' . $info['query'];

        }

 

        $req .= 'GET ' . $info['path'] . ' HTTP/1.1' . $linebreak;

        $req .= 'Host: ' . $info['host'] . $linebreak;

        $req .= 'User-Agent: ' . $agent . $linebreak;

        $req .= 'Referer: ' . $url . $linebreak;

        $req .= 'Authorization: Bearer '.$post['access_token'] . $linebreak;

        $req .= 'Connection: Close' . $linebreak . $linebreak;

        break;

 

    case 'POST':

        $req .= 'POST ' . $info['path'] . ' HTTP/1.1' . $linebreak;

        $req .= 'Host: ' . $info['host'] . $linebreak;

        $req .= 'User-Agent: ' . $agent . $linebreak; 

        $req .= 'Referer: ' . $url . $linebreak;

        $req .= 'Authorization: Bearer '.$post['access_token'] . $linebreak;

        $req .= 'Content-Type: application/x-www-form-urlencoded'.$linebreak; 

        $req .= 'Content-Length: '. strlen($info['query']) . $linebreak;

        $req .= 'Connection: Close' . $linebreak . $linebreak;

        $req .= $info['query']; 

        break;

}

 

//echo "req = {$req}\n";

 

// Socket Open

$fsock  = @fsockopen($info['ssl'] . $info['host'], $info['port']);

if ($fsock)

{

    fwrite($fsock, $req);

    while(!feof($fsock))

    {

        $line = fgets($fsock, 128);

        if($line == "\r\n" && !$headPassed)

        {

            $headPassed = true;

            continue;

        }

        if($headPassed)

        {

            $data .= $line;

        }

    }

    fclose($fsock);

}

 

$data = json_decode($data, true);

Comments


제목 글쓴이
이니시스 모바일 연동에 대한 고찰&썰풀이 마스터욱
PHPExcel 로 엑셀파일 만들기 마스터욱
PHP fsockopen 으로 Authorization 인증시 참고코드 마스터욱
DELETE 시에 자동백업하기 마스터욱
코드이그나이터, 씨아이보드(ciboard) 중복로그인 막기 소스코드 마스터욱
코드이그나이터(CodeIgniter) config 호출방법 마스터욱
curl 대신에 사용할만한 소스 마스터욱
PHP 로 cron 등록/수정/삭제 마스터욱
코드이그나이터(CodeIgniter) csrf_protection 이 True 일때 Ajax Post 처리방법 마스터욱
CI Board(씨아이보드) SMS 모듈 버그 마스터욱
코드이그나이터(CodeIgniter) csrf_protection 예외처리 마스터욱
PHP 엑셀만들기 기본 샘플소스 마스터욱
SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 마스터욱
문자열 안의 모든 img 태그안의 src 이미지를 base64 로 치환하기 마스터욱
네이버 로그인 API(oAuth) 개발 마스터욱
php 초단위를 일/시간/분/초 단위로 변경하고자 할때 마스터욱
php로 사이트 체류시간 구현하기 댓글 4 마스터욱
안드로이드 GCM 호출 예시 댓글 3 마스터욱
SSL certificate problem: self signed certificate in certificate chain 에러 발생시 마스터욱
flush() 를 이용한 실시간 출력 관리자
카테고리