영카트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개
댓글을 작성하려면 로그인이 필요합니다.
답변들 모두 감사합니다.
약간 황당한데요ㅠㅠ API제공하는 측에서 포트를 열어주지 않았다고 합니다.
상기처럼 쓰니, 작동 잘됩니다.
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
$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 사용한 예제가 있으니 참고하세요.
댓글을 작성하려면 로그인이 필요합니다.
json 방식은 영카트와 별개로 php 와 관련되있습니다.
php 5.1 인지 5.2 이하부터 json_encode, json_decode 함수지원이 안됩니다.
그럴경우 json_decode 기능을 하는 메소드를 만들어서 사용하기도 합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
crul로 요청 보낸 쪽에 결과값이 정상적으로 받아 지는지 확인해 보셨나요? php 5.2 이상일 경우 json_encode 가없을리 없고 설사 없다 하더라도 not function 오류가 발생 했을 겁니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인