Q&A

  • C/S 에서 WEBPAGE 를 POST로 호출할때 문제가 생겨서....
C/S 에서 WEBPAGE 를 POST로 호출할때 문제가 생겨서....


<form name="Test0" method="post" action="http://www.test.com">
<input type="hidden" name="encodparam" value="base64 value">  <= 요기 value 값이 문제
<input type="submit" value="로그온">
</form>

위처럼 input type 의 encodparam 의 value 값을 아래 값을 넣어 주는데

'<userid>kskimkey</userid><pwd>kskimkey</pwd><compnum>1000000009</compnum>'

값을 base64 encoding 하여 넘겨 주어야 합니다. base64로 하면 아래와 같은 값이 나오고

value="PHVzZXJpZD5rc2tpbWtleTwvdXNlcmlkPjxwd2Q+a3NraW1rZXk8L3B3ZD48Y29tcG51bT4xMDAwMDAwMDA5PC9jb21wbnVtPg== "

이값을 value 부분에 넣고 post 로 넘기는데 문제가 발생하여 고수님들에게 조언을 구하고자 합니다.

문제는 값은 정상적으로 넘어가는것 처럼 보이는데 WEB 페이지에서 넘겨온값을 조사해보면

value="PHVzZXJpZD5rc2tpbWtleTwvdXNlcmlkPjxwd2Q+a3NraW1rZXk8L3B3ZD48Y29tcG51bT4xMDAwMDAwMDA5PC9jb21wbnVtPg== "
value="PHVzZXJpZD5rc2tpbWtleTwvdXNlcmlkPjxwd2Q a3NraW1rZXk8L3B3ZD48Y29tcG51bT4xMDAwMDAwMDA5PC9jb21wbnVtPg== "
                                        (요기 + 기호가 빠지고 스페이스가... )

+ 기호가 어디로 같는지 감쪽같이 없어져 버렷네요...    어디에서 문제가 발생한건지...오리무중...감도안오고

C/S 프로그램에서 웹과 연동하는걸 처음 하다보니 문제가 발생하면 어디서 부터 찾아야 할지 망막 하네요...


아래는 호출한 델파이 소스 입니다.

var
   vWebAddr, vPostData, vFlags, vFrame, vHeaders: OleVariant;
   iLoop: Integer;
   stURL, stPostData: String;
begin
   stURL := 'http://localhost/read.asp';
   stPostData := encodparam='+StrTobase64('<userid>kskimkey</userid><pwd>kskimkey</pwd><compnum>1000000009</compnum>' ) ;

   if Length(stPostData)> 0 then
   begin
     vHeaders:= 'Content-Type: application/x-www-form-urlencoded'+ #10#13#0;
     vPostData:= VarArrayCreate([0, Length(stPostData)], varByte);
     for iLoop := 0 to Length(stPostData)- 1 do begin
         vPostData[iLoop]:= Ord(stPostData[iLoop+ 1]);
     end;
     vPostData[Length(stPostData)]:= 0;
  end;
  vWebAddr:= stURL;
  vFlags := 1; //새창으로 띄우기
  WebBrowser1.Navigate2(vWebAddr, vFlags, vFrame, vPostData, vHeaders);
end;


오늘의 질문과 답변이 다른 많은 이들에게 큰 힘이 되었으면 합니다.
0  COMMENTS