IP : 18.117.186.92

[오픈소스] svelte + capacitor 에서 https 로 post로 값넘기기

svelte + capacitor 에서 https 로 post로 값넘기기

우선
ajax 를 주로 사용하다보니, javascript 에서 비동기 통신 부분의 많음 변화가 있다는 것을 알게되었습니다.
jquery 에서 ajax 만 주구 장창 사용하다보니, ..
fatch가 나온지도 모르고 있었네요.

그래서 fatch 를 이용해서 쉽게 get 은 받아오는데,...
문제는 post 로 값을 넘기려하니,
https 즉, ssl 보안이 결려서
데이터를 보내고 받지를 못한다는 것을 개발했던 ssl 이 적용된 사이트들을 테스트 해보고야 알게되었습니다.

svelte 예제로도 이부분이 나오지 않고 있어서, 
아직 svelte 로 앱을 만드는 경우는 드물어서 그런지.. fetch 를 이용한 대안은 없는 것 같네요, 아직 발견못했을 수도 있고요.

아무튼
capacitor 에서 https 를 처리하는 방식으로 , cordova plugin 을 사용해서 처리하는 방식을 찾았네요.
cordova-plugin-advanced-http  라는 플러그인입니다.

설치는
npm install cordova-plugin-advanced-http
npx cap sync

이렇게 하면
package.json 파일의
 "dependencies": {
...
   "cordova-plugin-advanced-http": "^3.1.0",
     "cordova-plugin-file": "^6.0.2",
...
}

cordova-plugin-file 플러그인도 같이 등록되면서 설치가 됩니다.

실제 npm install 로 플러그인이 설치되는 곳은
node_modeul 폴더 안인데,

npx cap sync 이렇게 명령어를 추가해주면,
추가 해놓은 안드로이드나 ios 에도 추가 됩니다.

사용하려는 곳에서는
javascript 를 실행하는 곳에서

cordova.plugin.http.post() 를 이용하면, 실행됩니다.

아래는 예제..

cordova.plugin.http.post("https://요청하는 주소", {
        phone: phonenum,
        chks: $params
    }, {
        Authorization: 'OAuth2: token'
    }, function (response) {
        // prints 200
        //console.log(response.status);
        try {
            response.data = JSON.parse(response.data);
            // success
           // 전달이 성공하면 response.data 로 결과를 받게 됩니다.
            console.log(response.data);

        } catch (e) {
            // error
            console.error('JSON parsing error');
        }
    }, function (response) {
        // prints 403
        console.log(response.status);

        //prints Permission denied
        console.log(response.error);
    });


출처

출처를 들어가 보면,
좀더 다양한 방식 예들들면 파일 전송 등도 설명되어 있습니다.

서버측에 CORS 서로다른 출처에서 접근 제어하는 설정하느라
Access-Control-Allow-Origin: * 
이런 설정 안해도 잘 달라 붙고 잘 보내고 잘 받아옵니다.

capacitor 를이용해서 앱만들때 https 로 통신할때는 fetch 로 안되니까 고생하지 말고 
cordova-plugin-advanced-http 로 쓰세요.

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오톡으로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기
captcha
자동등록방지 숫자입력

공실장 개발센터

번호 제목 글쓴이 날짜 조회수
20 오픈소스 SVELTEKIT+ CAPACITOR 설치 그리고 안드로이드 스튜디오 빌드 앱실행 관리자 01-28 1,595
19 오픈소스 sveltekit 로그인 관리자 12-19 1,351
18 오픈소스 sveltekit Cloudflare에 배포하면 받듣시 해줘야할 일! 서브도메인 ssl 통신 허용! 관리자 12-09 2,189
17 오픈소스 sveltekit 빌드하고 배포하기 (클라우드플레어) 관리자 12-06 2,320
16 오픈소스 sveltekit 빌드하고 배포하기 클라우드플레어 이용하게된 계기 - 프롤로그 관리자 12-06 2,855
15 공시사항 신고가 접수된 게시글입니다. 관리자 11-22 1,067
14 오픈소스 svelte + capacitor 에서 https 로 post로 값넘기기 +1 관리자 01-31 2,091
13 오픈소스 svelte routify 에서 layout 상속 재정의 하기 +1 관리자 10-05 1,989
12 오픈소스 svelte + capacitor + cordova + ionic 빌드하고 폰에 올려서 확인하기 관리자 10-05 4,056
11 오픈소스 svelte + capacitor + cordova + ionic 만들기 쉬운 하이브리드앱 조합 관리자 10-05 2,971
10 오픈소스 svelte sapper 링크 걸기 a href 말고 스크립트로!! 관리자 10-01 3,640
9 오픈소스 svelte on:click 사용 방법 주의사항 관리자 10-01 3,639
8 오픈소스 svelte sapper 빌드하고 서버에 올리기 +1 관리자 09-30 3,712
7 오픈소스 svelte ui +1 관리자 08-03 1,797
6 오픈소스 angular vs react vs vue vs svelte? 관리자 08-03 2,173
5 오픈소스 지도형 홈페이지 파일 그누보드 관리자 04-24 1,788
4 오픈소스 지도형 중개업소 홈페이지 보수 계획 관리자 12-05 1,906
3 IOT 수도계량기 esp32-cam 관리자 12-05 2,822
2 IOT 현재 건물에 설치 되어 있는 CCTV 의 문제점 그리고 ESP32-CAM +2 관리자 12-05 4,603
1 공시사항 공실장 개발샌터 안내 +1 관리자 12-03 2,016