Warning: Undefined array key "mobile_dir" in /home/kagla/new-sir/old/common.php on line 315
영카트5에서 json을 이용해 api를 연결하려하는데요 오류가 남니다.

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

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

QA

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

답변 7

본문

      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 사용한 예제가 있으니 참고하세요.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 129,406
© SIRSOFT
현재 페이지 제일 처음으로