C# wnform 请求http ( get , post 两种方式 )

1.Get请求

string strURL = "http://localhost/WinformSubmit.php?tel=11111&name=张三";
System.Net.HttpWebRequest request;
// 创建一个HTTP请求
request = (System.Net.HttpWebRequest)WebRequest.Create(strURL);
//request.Method="get";
System.Net.HttpWebResponse response;
response
= (System.Net.HttpWebResponse)request.GetResponse();
System.IO.StreamReader myreader
= new System.IO.StreamReader(response.GetResponseStream(), Encoding.UTF8);
string responseText = myreader.ReadToEnd();
myreader.Close();
MessageBox.Show(responseText);

2.Post请求

string strURL = "http://localhost/WinformSubmit.php";
System.Net.HttpWebRequest request;
request
= (System.Net.HttpWebRequest)WebRequest.Create(strURL);
//Post请求方式
request.Method = "POST";
// 内容类型
request.ContentType = "application/x-www-form-urlencoded";
// 参数经过URL编码
string paraUrlCoded = System.Web.HttpUtility.UrlEncode("keyword");
paraUrlCoded
+= "=" + System.Web.HttpUtility.UrlEncode("多月");
byte[] payload;
//将URL编码后的字符串转化为字节
payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
//设置请求的 ContentLength
request.ContentLength = payload.Length;
//获得请 求流
System.IO.Stream writer = request.GetRequestStream();
//将请求参数写入流
writer.Write(payload, 0, payload.Length);
// 关闭请求流
writer.Close();
System.Net.HttpWebResponse response;
// 获得响应流
response = (System.Net.HttpWebResponse)request.GetResponse();
System.IO.StreamReader myreader
= new System.IO.StreamReader(response.GetResponseStream(), Encoding.UTF8);
string responseText = myreader.ReadToEnd();
myreader.Close();
MessageBox.Show(responseText);

注:System.Web.HttpUtility.UrlEncode("多月"); 需要引用 System.web.dll

WinformSubmit.php 代码如下:

<?php

header("content-Type: text/html; charset=Utf-8");
echo mb_convert_encoding("123abc娃哈哈", "UTF-8", "GBK");

echo "\n------\n";

foreach($_POST as $key => $value){
echo $key . '--' .$value ."\n";
}

echo "\n-------\n";

foreach($_GET as $key => $value){
echo $key . '--' .$value ."\n";
}

?>
posted @ 2011-03-04 14:56  海乐学习  阅读(30878)  评论(1编辑  收藏  举报