//통신포스트发送的数据
string payload="chkbook=book&keyword=관리";
WebRequest req = WebRequest.Create(" http://localhost/pceo/Search.aspx ");
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
StringBuilder UrlEncoded = 새로운 StringBuilder();
Char[] 예약됨 = {'?', '=', '&'};
바이트[] SomeBytes = null;
if (페이로드 != null)
{
int i=0, j;
while(i<페이로드.길이)
{
j=payload.IndexOfAny(예약됨, i);
만약 (j==-1)
{
UrlEncoded.Append(HttpUtility.UrlEncode(payload.Substring(i, payload.Length-i),System.Text .Encoding .GetEncoding ("gb2312")));
부서지다;
}
UrlEncoded.Append(HttpUtility.UrlEncode(payload.Substring(i, ji),System.Text .Encoding .GetEncoding ("gb2312")));
UrlEncoded.Append(payload.Substring(j,1));
나는 = j+1;
}
SomeBytes = Encoding.Default.GetBytes(UrlEncoded.ToString());
req.ContentLength = SomeBytes.Length;
스트림 newStream = req.GetRequestStream();
newStream.Write(SomeBytes, 0, SomeBytes.Length);
newStream.Close();
}
또 다른
{
req.ContentLength = 0;
}
노력하다
{
WebResponse 결과 = req.GetResponse();
스트림 수신스트림 = result.GetResponseStream();
Byte[] 읽기 = 새 Byte[512];
int bytes = receiveStream.Read(read, 0, 512);
txtHTML.InnerHtml = "";
동안(바이트 > 0)
{
// 참고:
// 하단에 고정된 UTF-8이 사용됩니다.
// 如果内容以 ANSI 代码页字式(例如,932)发送,则使用类似下면적语句:
// 인코딩 encode = System.Text.Encoding.GetEncoding("shift-jis");
인코딩 encode = System.Text.Encoding.GetEncoding("gb2312");
txtHTML.InnerHtml = txtHTML.InnerHtml + encode.GetString(읽기, 0, 바이트);
bytes = receiveStream.Read(읽기, 0, 512);
}
}
잡기(예외)
{
txtHTML.InnerHtml = "자세히 보기";
}
출처:狂风之家 블로그