php 페이지에서 curl로 api호출하는데 경로 문제

php 페이지에서 curl로 api호출하는데 경로 문제

QA

php 페이지에서 curl로 api호출하는데 경로 문제

본문

안녕하세요.

php 페이지에서 curl로 api를 호출해서 값을 받아오려고 하는데요.

웹서버는 aws를 사용하고 있습니다.

aws -> 외부 api서버 

이렇게 호출을 하는데요 aws 콘솔에서 curl 123.345.67.89:8601/api/v1/create 이렇게 입력하면

결과를 제대로 출력하는데요. php페이지를 만들어서 열면 호출이 안됩니다.....


    $service_url = '123.345.67.89:8601/api/v1/create';                                            
    $curl = curl_init($service_url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $curl_response = curl_exec($curl);
    $decoded = json_decode($curl_response, true);
    
    print_r($decoded);

이렇게 php 페이지를 만들어서 열면 호출이 안되네요;;;;

 

 

근데 같은 php 페이지에 경로만 https://api.upbit.com/v1/ticker?markets=KRW-ETH 이렇게 다른 api

를 호출하면 제대로 출력이 됩니다......


    $service_url = 'https://api.upbit.com/v1/ticker?markets=KRW-ETH';                                            
    $curl = curl_init($service_url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $curl_response = curl_exec($curl);
    $decoded = json_decode($curl_response, true);
    
    print_r($decoded);

이렇게 ip가 아닌 url로 호출하면 php페이지에서도 호출이 잘 됩니다....

 

php 설정을 봐야되는것 같은데 뭘 봐야되는지 모르겠네요;;;;

aws에서 인/아웃바운드 포트 다 열어놓은 상태입니다.

이 질문에 댓글 쓰기 :

답변 5

제가 해보니

http_code 는 0

curl_error 는 Could not resolve host: 123.345.67.89 

이렇게 나옵니다 

아이피 whois 검색해봐도 안나오는데...

호스트 아이피가 ... 내부아이피인가요? 

 

aws 콘솔 123.345.67.89 request => 성공

다른 idc서버 123.345.67.89 request => 성공?

 

 

raw data를 찍어보셔요 
print_r($curl_response);
respons header가 포함되었을 수도 있으니까요
respons header 보면 http_code나 인증오류 같은거도 보여주니까요
CURLOPT_HEADER 옵션 기본값이 true 인가...?

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

회원로그인

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