제목 | curl 호출결과가 화면에 표시되는 문제에 대해 질문 드립니다. | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | 모모타로 | 작성시각 | 2017/06/21 11:56:52 |
|
|||
안녕하세요! REST API를 만들고 있는데요 curl로 호출한 결과가 화면에 출력되지 않고 내부에서 결과값을 받을 수 있는 방법이 있을까요?
현재 A,B의 결과값이 다 보이는 상태입니다만 A의 결과값만 표시하고 싶습니다!
■구조 <A> 검색결과 리스트
<B> 검색 http://b.pushwing.com/search/keyword
A에서 B를 curl로 호출하고 B의 검색결과에 따라 A에서 별도 처리를 하고 그 결과를 출력하고 싶음.
■호출코드 function curl($url) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); $result = curl_exec($curl); curl_close($curl); return json_decode($result); }
■출력코드 function result($status, $result) { $CI =& get_instance(); $CI->output ->set_status_header($status) ->set_content_type('application/json', 'utf-8') ->set_output(json_encode($result, JSON_UNESCAPED_UNICODE)); return; }
■현재 출력되는 결과 <B에서 curl로 받은 결과> {"status":"403","code":123456,"message":"메시지"} <A에서 출력결과> 0 <현재 출력되는 결과 > {"status":"403","code":123456,"message":"메시지"}0
<원하는 결과 - A의 결과만 출력> 0
set_output를 의심해봅니다만.. json 형식으로 http header에 status를 전달하면서 출력하는 방법을 이것밖에 모릅니다ㅠㅠ 혹시 다른 좋은 방법이 있다면 조언 부탁드립니다!! |
|||
다음글 | json_encode 질문좀.. (2) | ||
이전글 | mysql 질문드립니다. (16) | ||
kaido
/
2017/06/21 12:54:57 /
추천
0
|
모모타로
/
2017/06/21 13:12:59 /
추천
0
@kaido님 답변 감사합니다! 질문이 애매했던것 같네요ㅠㅠ 현재 A,B의 결과가 다 출력되고 있는데 A의 결과만 출력하고 싶었습니다.. 답변주신 curl의 옵션도 확인해보겠습니다! |
카카메론바
/
2017/06/21 13:13:45 /
추천
0
curl 에 별다른 옵션 없이 호출하게 되면 결과값이 자동으로 출력 됩니다. 해당 부분을 제어하는 옵션으로 아래와 같은 옵션이 있습니다. @kaido님이 올리신 curl 메뉴얼에서 옵션에 대한 내용을 시간내서 천천히 살펴 보시면 될것 같습니다. <?php // exec 실행 후 결과 자동으로 출력 안됨 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
모모타로
/
2017/06/21 13:18:10 /
추천
0
@카카메론바님 말씀하신 curl 옵션 추가로 A만 출력됩니다!! kaido님 카카메론바님 정말 감사합니다!!!! (_ _) |
output 은 출력 맞습니다.
출력을 해놓고 출력이 안되면 좋겠다는 질문이라서 무엇을 원하시는지 이해가 어렵네요.
헤더에만 값을 전송하는 방법이라면 curl 옵션 부분을 확인해 보세요.
http://php.net/manual/kr/book.curl.php