Web安全实践(4)c#简单http编程示例
2008-10-30 13:29:55 来源:WEB开发网/// <summary>
/// 发送请求接受响应
/// </summary>
/// <param name="tb">显示头信息的TextBox</param>
/// <param name="ta">显示内容信息的TextBox</param>
/// <param name="method">请求方式</param>
/// <param name="codemethod">编码方式</param>
public void SendInfo( TextBox tb,TextBox ta,string method,string codemethod)
{
//首先我们创建HttpWebRequest的实例,用来发送请求。
hwr = (HttpWebRequest)WebRequest.Create(uri);
//然后设置它的请求方式。
hwr.Method = method;
CodingMethod = codemethod;
try
{
//创建HttpWebResponse的实例
response = (HttpWebResponse)hwr.GetResponse();
//因为response.Headers包含了我们想要的头信息,而它是WebHeaderCollection类型
//所以我们创建WebHeaderCollection实例myheaders,然后把它转化成字符串。
WebHeaderCollection myheaders = response.Headers;
f1.AddInfo(myheaders.ToString(), ta);
// GetResponseStream()方法,获取的信息是返回的内容信息。
Stream resStream = response.GetResponseStream();
int count = resStream.Read(buf, 0, buf.Length);
f1.AddInfo(getString(buf), tb);
hwr.Abort();
resStream.Close();
response.Close();
}
catch(Exception e)
{
MessageBox.Show(e.ToString());
}
finally
{
Thread.CurrentThread.Abort();
}
}
(2)form1的主要函数。
这是点击button按钮的事件处理函数,获得用户设置的各种参数,然后启动单独的线程调用信息处理类ProcessInfo的相关方法。
private void button_send_Click(object sender, EventArgs e)
{
// 部分代码省略
for (int i = 0; i < Int32.Parse(this.comboBox_sendtiems.SelectedItem.ToString()); i++)
{
Thread t = new Thread(new ThreadStart(GetInfo));
t.Start();
}
}
/// <summary>
/// 把参数传入ProcessInfo类的处理函数
/// </summary>
private void GetInfo()
{
ProcessInfo pi = new ProcessInfo(textBox_uri.Text,this);
pi.SendInfo(textBox_content, textBox_head, combox1, combox2);
}
/// <summary>
/// 用于异步调用向textbox中添加响应信息
/// </summary>
/// <param name="info"></param>
/// <param name="myt"></param>
public void AddInfo(string info,TextBox myt)
{
//判断是否为跨线程调用
if (myt.InvokeRequired)
{
SetInfoCallback sic = new SetInfoCallback(AddInfo);
this.Invoke(sic, new object[] { info,myt });
}
else
{
myt.Text += info;
}
}
好了,这个简单的例子可能不能给你太多的启示,但是我的这个系列还得继续向前走。更多的编程实践,如果你做了,一定要分享哦,独乐乐不如众乐乐吗!
- ››安全的Win 8系统减肥攻略
- ››安全度过网站排名的四个时期技巧
- ››web安全之信息刺探防范1
- ››webqq 最新加密算法
- ››webdriver 数据库验证方法
- ››WebSphere Application Server 7.0 XML Feature P...
- ››Web2.0网络时代基于社会影响力的声望值
- ››Web服务器搭建:配置Linux+Apache+Mysql+PHP(或Pe...
- ››安全第一 Windows 7五件应该知道的事
- ››WebLogic调整Java虚拟机性能优化参数
- ››webqq2.0协议研究(3)-ClientId生成
- ››Web.config配置文件
更多精彩
赞助商链接