영카트5에서 json을 이용해 api를 연결하려하는데요 오류가 남니다.

영카트5에서 json을 이용해 api를 연결하려하는데요 오류가 남니다.

QA

영카트5에서 json을 이용해 api를 연결하려하는데요 오류가 남니다.

본문

      include_once('./_common.php');
       $ch = curl_init();
       $post_data = Array();
       $imsi['mb_id']    = "회원아이디"; //[회원아이디]
       $imsi['password'] = "회원패스워드";  //[회원패스워드]
       $url = "api회사에서 지정해준경로"
       $ch = curl_init($url);
       $post_data = array(
                    "api_key"    => $api_key,
                    "api_domain" => $api_domain,                            
                    "id"            => $imsi['mb_id'],
                    "password"   => $imsi['password']
       );
       $js_login = json_encode($post_data);


       curl_setopt($ch, CURLOPT_POSTFIELDS, $js_login);
       curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
       $result = curl_exec($ch);
       curl_close($ch);
       $data = json_decode($result, true);
       $api['mb_id'] = $data["data"][0]["ID"];
       불러온 회원아이디 : $api['mb_id'];

뭔가 빠져서 그런지 무한루프비슷하게 페이지가 로딩이 길어지고, 다운됩니다.
아니면, 영카트자체에서 json자체가 없는 것인지 궁금합니다.

이 질문에 댓글 쓰기 :

답변 7

2번 째 줄의 $ch = curl_init(); 를 삭제해 보세요.

crul로 요청 보낸 쪽에 결과값이 정상적으로 받아 지는지 확인해 보셨나요? php 5.2 이상일 경우 json_encode 가없을리 없고 설사 없다 하더라도 not function 오류가 발생 했을 겁니다.

json 방식은 영카트와 별개로 php 와 관련되있습니다.

 

php 5.1 인지 5.2 이하부터 json_encode, json_decode 함수지원이 안됩니다.

 

그럴경우 json_decode 기능을 하는 메소드를 만들어서 사용하기도 합니다.

$ch = curl_init();

curl_setopt($ch , CURLOPT_URL, $url);

curl_setopt($ch , CURLOPT_POST, 1);

 

init에 url을 넣지말고 CURLOPT_URL 추가해보세요. CURLOPT_POST도 추가해보시고요

 

[참고] /lib/common.lib.php 파일의 googl_short_url함수에서 curl 사용한 예제가 있으니 참고하세요.

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

회원로그인

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