POST 질문입니다.
본문
웹호스팅 : 카페24
그누보드 5버전 설치
test.php 만들어서 아래와 같이 호출했더니
400 Bad Request
라고 나옵니다. ㅠㅠ
포스트맨에서 했더니 정상으로 나오네요
라고 정상으로 나옵니다.
왜 웹에만 올리면 에러 날가요? ㅠㅠ
$method = "POST";
$url = "http://api.atomzone.xyz/gateway/address?key=6ABE95FC3713";
$ch = curl_init(); //curl 초기화
curl_setopt($ch, CURLOPT_URL, $url); //URL 지정하기
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //요청 결과를 문자열로 반환
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); //connection timeout 10초
curl_setopt($ch, CURLOPT_POST, true); //true시 post 전송
$response = curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
var_export($response);
답변 2
안녕하세요? ^^
일단 올려주신 소스는 문법적으로 잘못된 부분이 없고
해당 API에서 특별한 Request headers를 요구하지도 않습니다.
URL에 특수문자가 있다면 이를 escape code로 처리할 여지가 있지만 그렇지도 않네요~
(PHP cURL이 간혹 특수문자에 민감한 경우가 있습니다.)
제가 소스를 그대로 긁어서 PHP 파일로 작성 후 업로드하여
브라우저에서 접속해보니 잘 작동하는군요 :)
굳이 위 스크립트를 수정한다면
curl_setopt($ch, CURLOPT_FAILONERROR, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
정도를 추가하여 테스트해볼 여지가 있겠습니다.
400 Bad Request 에러는 잘못된 요청 구문 등 클라이언트 측 문제일 가능성이 있습니다.
우선 URL 오류를 확인하시고
추가적으로 브라우저 캐시 및 DNS 캐시를 삭제해보세요 ^^
그럼 부디 문제 잘 해결하시고 즐거운 연휴 되세요!
+)
카페24에서 외부로 나가는 cURL을 차단하였을 가능성이 있으니 호스팅사에 문의하세요~
!-->curl에서
데이터 넣는 부분이 안 보이네요.
답변을 작성하시기 전에 로그인 해주세요.