PHP + curl + json 결과값이 NULL 이 나오는 것은 ...

PHP + curl + json 결과값이 NULL 이 나오는 것은 ...

QA

PHP + curl + json 결과값이 NULL 이 나오는 것은 ...

본문

홈페이지에서 api 제공하는 사이트로 json 데이타를 전송하고 받으로 합니다.

api 업체는 JAVA 로 개발 운영한다고 하더군요.

업체에서 제공하는 API 도큐먼트

http://api.buyis.co.kr/swagger-ui.html#/A_member_registration_APIs_for_welfare_mall 

 

관련 문서를 기준해서 구글 검색을 해서 아래와 같은 내용을 만들게 되었는데요

NULL 값이 되돌아 오는것을 보면 뭔가 부족한 것이겠지요?

api 업체에 문의를 하기는 하겠지만, 담당 엔지니어는 php에 대한 기술지원은 어렵다고 하는 상황이라서 난감한 상황입니다.

 

결과값을 받아서 그값을 디비에 저장을 할 계획인데, 일단 결과값이 표시가 안되니 더 진행이 안되네요

 

<?php

// 그누보드 회원데이타를 가져온 모습
$ch=curl_init(); // 이것을 추가하니 뭔가 값이 넘어오는거 같군요

$url = "http://api.buyis.co.kr/mall/kbizwell2/member/join"; 

$curl_json_array = " "\"addr\":\"{$member['mb_addr1']}\",
    \"addrDetail\":\"{$member['mb_addr2']}\",
    \"birth\":\"{$member['mb_birth']}\",
    \"email\":\"{$member['mb_email']}\",
    \"gender\":\"{$gender}\",
    \"hp\":\"{$member['mb_hp']}\",
    \"memberId\":\"{$member['mb_id']}\",
    \"name\":\"{$member['mb_name']}\",
    \"password\":\"password\",
    \"post\":\"{$member['mb_zip1']}{$member['mb_zip2']}\",
    \"referId\":\"{$member['mb_id']}\" ";

curl_setopt($ch, CURLOPT_USERPWD, '{$curl_json_array}');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/buyis.v1+json;charset=UTF-8', 'Content-Type: application/json'));
curl_setopt($ch, CURLOPT_VERBOSE, true);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$response = curl_exec($ch);

curl_close($ch);

var_dump($response);

?>

 

결과값:

NULL

 

 

<?php

// 값을 넣은 모습

$ch=curl_init();
$url = "http://api.buyis.co.kr/mall/kbizwell2/member/join"; 

$curl_json_array = " "\"addr\":\"서울시 무슨구 무슨동\",
    \"addrDetail\":\"무슨아파트 101동 102호\",
    \"birth\":\"19820101\",
    \"email\":\"이메일주소\",
    \"gender\":\"10\",
    \"hp\":\"핸드폰번호\",
    \"memberId\":\"test1\",
    \"name\":\"홍길동\",
    \"password\":\"password\",
    \"post\":\"12345\",
    \"referId\":\"test1\" ";

curl_setopt($ch, CURLOPT_USERPWD, '{$curl_json_array}');
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/buyis.v1+json;charset=UTF-8', 'Content-Type: application/json'));
curl_setopt($ch, CURLOPT_VERBOSE, true);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

$response = curl_exec($ch);

curl_close($ch);

var_dump($response);

?>

 

결과값:

NULL

이 질문에 댓글 쓰기 :

답변 1


$url = "http://api.buyis.co.kr/mall/kbizwell2/member/join?apiKey=e46b1143edf99c225673d323ea2ff9c176df459b";
$headers = ["accept: application/buyis.v1+json;charset=UTF-8", "Content-Type: application/json"];
$datas = [
    "addr" => "서울시 무슨구 무슨동ㅁㄴㅇㄻㄴㄹㅇㅁㄴㅇㄻㄴㅇㄹ",
    "addrDetail" => "무슨아파트 101동 102호",
    "birth" => "19820101",
    "email" => "test1골뱅이abcd.com",
    "gender" => 10,
    "hp" => "xxx-xxxx-xxxx",
    "memberId" => "testtest1",
    "name" => "홍길동",
    "password" => "password",
    "post" => "12345",
    "referId" => "1234골뱅이1234.com"
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($datas));
$response = curl_exec($ch);
curl_close($ch);

가입이라 post로 던지고

 


$url = "http://api.buyis.co.kr/mall/kbizwell2/member/testtest1?apiKey=e46b1143edf99c225673d323ea2ff9c176df459b";
$headers = ["accept: application/buyis.v1+json;charset=UTF-8"];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response);
//print_r($result);
echo $result->memberId;

조회할 땐 get으로...

 

http://exam.dothome.co.kr/temp/wrid_324108.php

답변을 작성하시기 전에 로그인 해주세요.
전체 123,588 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT