델개발자 4월 7일, 2022에 포스트됨 공유하기 4월 7일, 2022에 포스트됨 (edited) 안녕하세요, 현재 안드로이드 앱을 개발하고 있습니다. 안드로이드에서 Intent를 이용해서 Action_view로 웹사이트를 호출하고 있습니다. 풀Url 방식이 아니라, Post방식을 추가하고싶어 검색하는 중에 http://stackoverflow.com/questions/12890361/android-open-browser-with-a-url-with-request-headers 위와 같은 방식을 찾았습니다. 델파이에서 위의 방식으로 작성해봤지만 유효하지않은 웹사이트로 열리지 않습니다. 예를 들어서, 아래와 같은 방법으로 작성하면 안되는건지 궁금합니다.. 급하게 검색해서 작성하긴 했는데, 제가 틀린부분이 있을까요.. ---------------------------------------------- var Intent: JIntent; finalUrl: String; begin finalUrl := 'javascript:' + 'var to = ''https://홈페이지주소.asp'';'+ 'var p = {param:'+'xxx'+',param01:'+'yyyy'+',param02:'+'zzzz'+',param03:'+'123'+',param04:'+'456'+'};'+ 'var myForm = document.createElement(''form'');' + 'myForm.method = ''post'' ;' + 'myForm.action = to;' + 'for (var k in p) {' + 'var myInput = document.createElement(''input'') ;' + 'myInput.setAttribute(''type'', ''text'');' + 'myInput.setAttribute(''name'', k) ;' + 'myInput.setAttribute(''value'', p[k]);' + 'myForm.appendChild(myInput) ;' + '}' + 'document.body.appendChild(myForm) ;' + 'myForm.submit() ;' + 'document.body.removeChild(myForm) ;'; Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW, TJnet_Uri.JavaClass.parse(StringToJString(TIdURI.URLEncode(finalUrl)))); exit(true); except on e: Exception do begin if DisplayError then ShowMessage('Error: ' + e.Message); exit(false); end; end; end; ------------------------------------------------------------ Edited 4월 7일, 2022 by 델개발자 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 c2design 4월 8일, 2022에 포스트됨 공유하기 4월 8일, 2022에 포스트됨 포스트 방식의 호출은 아래 링크 샘플의 방식을 사용 하거나 https://c2design5sh.blogspot.com/2021/12/nave-papago-open-api-project-with.html 델파이에 내장된 REST 디버거를 사용 하시면 됩니다. https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Using_the_REST_Debugger 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 델개발자 4월 8일, 2022에 포스트됨 Author 공유하기 4월 8일, 2022에 포스트됨 Intent 방식으로는 불가능한건가요? 그리고.. 혹시, POST방식으로 값을 넘기는 방식이 아니라 Url 주소를 Post 방식으로 넘겨서 새창으로 웹을 띄우는 것이 위의 방법에도 포함되는 걸까요? 두 방법 다 POST로 데이터 값을 넘기는 방법만 나와있어서.. 잘 모르겠습니다.. ㅠㅠ 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 c2design 4월 11일, 2022에 포스트됨 공유하기 4월 11일, 2022에 포스트됨 먼저 어떤 목적으로 사용 하는지를 알려 주세요. 포스트로 데이터 넘기는 것과 Intent 로 새창을 띄우는 것은 별개의 문제 입니다. 웹페이지로 새창을 띄우는 것은 브라우져에 데이터를 전달(클라이언트) 하는것이고 포스트는 특정 서버에 데이터를 전달 하는데 사용 됩니다. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 델개발자 4월 11일, 2022에 포스트됨 Author 공유하기 4월 11일, 2022에 포스트됨 (edited) 안녕하세요, 제가 문의드릴때 자세히 작성했어야 했는데.. 죄송합니다 App상에서 웹페이지 새창을 열 때, GET방식과는 다르게, 데이터들이 URL에 표시되지 않도록 웹페이지로 새 창을 띄우고 싶은 목적입니다. ex) (GET) http://홈페이지주소.asp?param01=123¶m02=456 / (POST) http://홈페이지주소.asp Edited 4월 11일, 2022 by 델개발자 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
질문
델개발자
안녕하세요, 현재 안드로이드 앱을 개발하고 있습니다.
안드로이드에서 Intent를 이용해서 Action_view로 웹사이트를 호출하고 있습니다.
풀Url 방식이 아니라, Post방식을 추가하고싶어 검색하는 중에
http://stackoverflow.com/questions/12890361/android-open-browser-with-a-url-with-request-headers
위와 같은 방식을 찾았습니다.
델파이에서 위의 방식으로 작성해봤지만 유효하지않은 웹사이트로 열리지 않습니다.
예를 들어서, 아래와 같은 방법으로 작성하면 안되는건지 궁금합니다..
급하게 검색해서 작성하긴 했는데, 제가 틀린부분이 있을까요..
----------------------------------------------
var
Intent: JIntent;
finalUrl: String;
begin
finalUrl := 'javascript:' +
'var to = ''https://홈페이지주소.asp'';'+
'var p = {param:'+'xxx'+',param01:'+'yyyy'+',param02:'+'zzzz'+',param03:'+'123'+',param04:'+'456'+'};'+
'var myForm = document.createElement(''form'');' +
'myForm.method = ''post'' ;' +
'myForm.action = to;' +
'for (var k in p) {' +
'var myInput = document.createElement(''input'') ;' +
'myInput.setAttribute(''type'', ''text'');' +
'myInput.setAttribute(''name'', k) ;' +
'myInput.setAttribute(''value'', p[k]);' +
'myForm.appendChild(myInput) ;' +
'}' +
'document.body.appendChild(myForm) ;' +
'myForm.submit() ;' +
'document.body.removeChild(myForm) ;';
Intent := TJIntent.JavaClass.init(TJIntent.JavaClass.ACTION_VIEW,
TJnet_Uri.JavaClass.parse(StringToJString(TIdURI.URLEncode(finalUrl))));
exit(true);
except
on e: Exception do
begin
if DisplayError then ShowMessage('Error: ' + e.Message);
exit(false);
end;
end;
end;
------------------------------------------------------------
Edited by 델개발자이 댓글 링크
다른 사이트에 공유하기
4 answers to this question
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.