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

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

QA

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

답변 5

본문

안녕하세요.

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 인가...?

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