C# 에서 WEB PAGE에 POST로 값 전달 하기
<form name="Test0" method="post" action="http://www.test.com">
<input type="hidden" name="user" value="xxxx">
<input type="hidden" name="pswd" value="1111">
<input type="hidden" name="name" value="김광수">
<input type="submit" value="회원가입">
</form>
위와같이 html 을 만들어 브라우져 창을 띄우고 회원 가입을 하면 값이 정상 적으로 넘어갑니다.
이걸 보신 모든 분들이 아는 방법 이겟지요 ... ㅋㅋ
제가 드리는 팁은 이걸 c# 에서 전송하는 방법입니다.
물론 저의 c# 실력은 시작한지 1일 지난 상태이므로 소스 개판이다 소리 하지 말아주세요
아직 개념도 프로그램 구성도 모르고 마냥 개삽질 하면서 알아낸 방법입니다.
소스 볼줄도 몰라... 더 힘들었습니다. ㅠㅠ
만들때 힘들었고 혹 다른 나와 같은 상황에 계신 분께서는 삽질을 하지 않길 원해서....
using System;
using System.Windows.Forms;
using System.Text;
using System.Net;
using System.IO;
/// 전달 하고자 하는 값
string str_sendvalue = "who=나야나"+"&"+"you=너는누구냐" +"&"+"etc=1234567890" + ; // 1,2 번 모두 똑같이 이값을 가지고 이용하네요 ^^
/// 방법 1 : 시작 ( 내부적을 전송만 하고 끝나는 형태 , 일반적으로 통신형태에 유용한듯 )
/// 실제 테스트는 안해봣음 소스는 이상없는데 web server 가 나한테 없어 왔는지는 모름
HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create("www.test.com"); // 객체를 생성한다.
hwr.Method = "POST"; // 포스트 방식으로 전달
hwr.ContentType = @"application/x-www-form-urlencoded";
byte[] buffer = Encoding.Default.GetBytes(str_sendvalue);
hwr.ContentLength = buffer.Length;
Stream sendStream = hwr.GetRequestStream(); // sendStream 을 생성한다.
sendStream.Write( buffer, 0, buffer.Length); // 데이터를 전송한다.
sendStream.Close(); // sendStream 을 종료한다.
/// 방법 1 : 종료
/// 방법 2 : 시작 ( 브라우져를 새창으로 띄워 화면을 보는 방식 , 사이트 연동에 적당한듯 )
/// 한글까지 잘 넘어가는거 확인했습니다. 잘되네요 ^^
object vHeaUrl = "www.test.com" ; // 호출할 url
object vFlag = 1; // 새창으로 띄우기
object framename = ""; // 이건 모르겟음
object buffer = Encoding.Default.GetBytes(str_sendvalue); // 데이터
object vHeaders = "Content-Type: application/x-www-form-urlencoded" + 0x10+ 0x13 ; // 헤더
AxSHDocVw.AxWebBrowser ie = new AxSHDocVw.AxWebBrowser(); // 브라유져를 만든다. 폼에 콤퍼넌트를 올려놓으시면 필요없습니다.
this.Controls.Add(ie); // 생성된 브라우져를 폼위에 올려 놓는다. 폼에 콤퍼넌트를 올려놓으시면 필요없습니다.
ie.Navigate2( ref vHeaUrl , ref vFlag ,ref framename, ref buffer, ref vHeaders ); // 호출한다.
/// 방법 2 : 종료
'[ Program ] > C#' 카테고리의 다른 글
BackgroundWorker 사용 (0) | 2012.09.18 |
---|---|
c#어플리에서 HttpWebRequest 와 HttpWebResponse를 이용하여 post,get 처리하기 (0) | 2012.09.18 |
[HowTo]Rijndael(AES) 암/복호화 코드(C#) (0) | 2012.09.18 |
RijndaelManaged 예제 (0) | 2012.09.18 |
C# 암호화 (0) | 2012.09.18 |
댓글