오픈 api, axios 사용하면 get이 post로 바뀌어요

최예주·2022년 11월 22일
0

오류-프론트

목록 보기
1/3

http://data.seoul.go.kr/dataList/OA-15442/S/1/datasetView.do
open api인 https://openapi.seoul.go.kr:8088/466d5944556364703834526c75516a/json/SearchSTNBySubwayLineInfo/1/100///1%ED%98%B8%EC%84%A0를 쓰려고 했다.
지하철 노선도에 따라 역을 보내주는 api이다.

하지만 net::ERR_SSL_PROTOCOL_ERROR 오류가 떴다.

예상1.
로컬환경이 http이라서 문제가 생긴 것이다.
=> 로컬 환경을 https로 바꿔주자.

시도한 방법1.
먼저 윈도우에서 openssl 다운로드를 해야 한다. 이 링크를 따라서 했다.
https://blog.naver.com/PostView.nhn?blogId=baekmg1988&logNo=221454486746

그리고 이 블로그에 들어가서 그대로 따라했다.
https://velog.io/@horang-e/React-localhost-%ED%99%98%EA%B2%BD-HTTPS%EB%A1%9C-%EB%B0%94%EA%BE%B8%EA%B8%B0Windows

링크를 그대로 따라했더니 build 폴더 안에 .cert.pem과 key.pem 파일이 생겼다. 인증파일 일 것이다. 아마..
링크를 따라하면 오류가 날 것인데 .cert.pem이름을 cert.pem로 바꿔주면 오류가 해결된다.

이 과정을 완수하면 로컬환경을 http에서 https로 바꿀수가 있다.

해결한 방법2.
범인은 index.html에 있는 이것 때문이었다.

이전에 이것을 추가한 이유는 react에서 npm run build를 한 후 파일을 서버에 올리면 오류가 났기 때문이다. 오류는 <Mixed Content: The page at '' was loaded over HTTPS, but requested an insecure script ''. This request has been blocked; the content must be served over HTTPS.>이다.

대충 로컬 환경은 http였는데 서버는 https라서 발생한 오류같았다.

결론.
이후 서버에 올릴때 오류가 날 것 같긴하다. 그때 오류가 발생한다면 글을 다시 써야겠다.
근데 3시간 뒤에 다시 돌려보니까 http에서 https로 바뀌었지만 또 오류뜬다.
인증서가 만료돼서 그런가?

0개의 댓글