Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • 0

안드로이드 Intent를 이용하여 POST 방식으로 Url 호출하는 방법 문의드립니다.


델개발자

질문



안녕하세요, 현재 안드로이드 앱을 개발하고 있습니다.

안드로이드에서 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

  • 0

포스트 방식의 호출은 아래 링크 샘플의 방식을  사용 하거나

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

Intent 방식으로는 불가능한건가요?


그리고.. 혹시, POST방식으로 값을 넘기는 방식이 아니라

Url 주소를 Post 방식으로 넘겨서 새창으로 웹을 띄우는 것이 위의 방법에도 포함되는 걸까요?
두 방법 다 POST로 데이터 값을 넘기는 방법만 나와있어서.. 잘 모르겠습니다.. ㅠㅠ

이 댓글 링크
다른 사이트에 공유하기

  • 0

먼저 어떤 목적으로 사용 하는지를 알려 주세요.

포스트로 데이터 넘기는 것과 Intent 로 새창을 띄우는 것은 별개의 문제 입니다.

웹페이지로 새창을 띄우는 것은 브라우져에 데이터를 전달(클라이언트)  하는것이고 포스트는 특정 서버에 데이터를 전달 하는데 사용 됩니다.

이 댓글 링크
다른 사이트에 공유하기

  • 0

안녕하세요, 제가 문의드릴때 자세히 작성했어야 했는데.. 죄송합니다

App상에서 웹페이지 새창을 열 때,

GET방식과는 다르게, 데이터들이 URL에 표시되지 않도록 웹페이지로 새 창을 띄우고 싶은 목적입니다.
ex) (GET) http://홈페이지주소.asp?param01=123&param02=456  / (POST) http://홈페이지주소.asp
 

Edited by 델개발자
이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 질문에 답변하기...

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.