WEB开发网
开发学院网络安全安全技术 Web安全实践(4)c#简单http编程示例 阅读

Web安全实践(4)c#简单http编程示例

 2008-10-30 13:29:55 来源:WEB开发网   
核心提示: /// <summary>/// 发送请求接受响应/// </summary>/// <param name="tb">显示头信息的TextBox</param>/// <param name="ta&qu

/// <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;
}
}

好了,这个简单的例子可能不能给你太多的启示,但是我的这个系列还得继续向前走。更多的编程实践,如果你做了,一定要分享哦,独乐乐不如众乐乐吗!

上一页  1 2 3 4 

Tags:Web 安全 实践

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接