728x90
java.net.UnknownServiceException: CLEARTEXT communication to apis.data.go.kr not permitted by network security policy
api 예제 코드를 복붙하고 실행해보는데 저런 에러가 떴다.
컴파일러에서는 문제없다고 뜨는데 뭐가 문젠가 해서 저 경고를 구글에 검색해보니 https 통신을 강제하기 때문이라고 한다.
base url을 보니 http로 되어있었다. 근데 분명 해당 api에는 http로 되어있던데.... https도 지원하는건가?
해당 url을 인터넷 주소창에 입력하면 http, https 둘 다 뜨긴한다.
그래서 baseUrl()에 들어갈 주소에 https로 바꿔적으니 문제없이 돌아갔다.
둘다 지원하기 때문에 되는 거 같은데 만약 http만 지원하면 아래처럼 하면 된다.
res/xml/이름.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">api.xxx.com</domain>
</domain-config>
</network-security-config>
요렇게 코드를 작성하고 파일은 임의로 한다.
<application
...
android:networkSecurityConfig="@xml/이름">
manifest 파일에 networkSecurityConfig 파일로 지정해주면 된다고 한다.
아니면
<application
...
android:usesCleartextTraffic="true">
usesCleartextTraffic =true를 추가해주는 방법도 있다고 한다.
728x90
반응형
'개발' 카테고리의 다른 글
[안드로이드/코틀린] 키보드 사라지게 하기 (0) | 2024.01.30 |
---|---|
BuildConfig.DEBUG 임포트가 안될 때. 빨간 줄 뜰 때. (0) | 2024.01.29 |
TIL : API(Application Programming Interface) (0) | 2024.01.25 |
안드로이드 tabIndicatorColor (1) | 2024.01.24 |
(안드로이드 코틀린) 리사이클러 뷰어로 아이템 추가하기 (0) | 2024.01.23 |
댓글