当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP.NET发送ICQ信息DIY(1)

ASP
ASP调用ORACLE存储过程并返回结果集
用ASP实现网页BBS
关于Global.asa文件的深入研究与session变量失效提示的具体方法
简易ASP+注册系统
防护手册:如何防止ASP木马在服务器上运行
用Visual Basic实现多画面播放功能之二
如何增强ASP程序性能(1)
如何增强ASP程序性能(2)
如何增强ASP程序性能(3)
ASP备份数据库
二十八条改善 ASP 性能和外观的技巧
在Form域中Post大于100K的数据
如何使用ASP制作模似动态生长的表单?
Microsoft IIS 真的如此「不安全」吗?(1)
Microsoft IIS 真的如此「不安全」吗?(2)
Microsoft IIS 真的如此「不安全」吗?(3)
Microsoft IIS 真的如此「不安全」吗?(4)
Microsoft IIS 真的如此「不安全」吗?(5)
关于页面和代码分离
ServerVariables 对路径的操作

ASP.NET发送ICQ信息DIY(1)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 138 ::
收藏到网摘: n/a

  这里我给大家提供一个很实用的例子,就是在线发送ICQ信息。想一想我们在网页上直接给朋友发送ICQ信息,那是多么美妙的事情啊。呵呵,在吹牛啊,其实ICQ本来就有在线发送的代码,不过,这些都是AOL给你写好的代码,多没有意思啊。还是自已写的比较好,呵呵,废话少说,大家来看代码吧

<% @ Page Language="C#" %>
<% @ Assembly Name="System.Net" %>
<% @ Import Namespace="System.Net" %>
<% @ Import Namespace="System.Net.Sockets" %>
<% @ Import Namespace="System.IO" %>
<% @ Import Namespace="System.Text" %>

<Script Language="C#" Runat="Server">
public void Page_Load(Object src,EventArgs e)
{
ICQ_Show.Text="如果提交后,在这里显示信息";
}

public void Send_Click(Object sender,EventArgs e)
{
string sendmsg;
string commandmsg;
file://首先取得要发送的信息
commandmsg = "from="+ICQ_Name.Text+"&fromemail="+ICQ_Email.Text+"&subject=";
commandmsg += ICQ_Subject.Text+"&body="+ICQ_Message.Text+"&to="+ICQ_Number.Text
commandmsg += "&Send=Send+Message";
file://然后就是组装全部的信息
sendmsg="POST /scripts/WWPMsg.dll HTTP/1.1\r\n";
sendmsg += "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,";
sendmsg += " application/vnd.ms-excel,";
sendmsg += " application/msword, application/vnd.ms-powerpoint, */*\r\n";
sendmsg += "Accept-Language: zh-cn\r\n";
sendmsg += "Content-Type: application/x-www-form-urlencoded\r\n";
sendmsg += "Accept-Encoding: gzip, deflate\r\n";
sendmsg += "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows 95)\r\n";
sendmsg += "Host: wwp.icq.com\r\n";
sendmsg += "Content-Length: " + commandmsg.Length + "\r\n";
sendmsg += "Connection: Keep-Alive\r\n\r\n";
sendmsg += commandmsg + "\r\n\r\n";

Byte[] arrMsg=Encoding.Default.GetBytes(sendmsg.ToCharArray());
file://需要发送的信息处理完毕

file://======下面就是发送这些信息=====
file://首先是建立一个TCPClient 对象
TCPClient tcpc=new TCPClient();
if(0==tcpc.Connect("wwp.icq.com",80))
{
Stream sm = tcpc.GetStream();
sm.Write(arrMsg,0,sendmsg.Length);
StreamReader sr=new StreamReader(tcpc.GetStream(),Encoding.Default);
string strRev=sr.ReadLine();
if(strRev.IndexOf("OK")!=-1)
{
ICQ_Show.Text="ICQ消息发送成功";
}
else
{
ICQ_Show.Text="ICQ消息发送不成功";
}

}
else
{
ICQ_Show.Text="ICQ消息发送不成功,无法联结ICQ服务器";
}
file://关闭TCP联结
tcpc.Close();
}

</script>
<html>
<meta http-equiv="Content-Language" content="zh-cn">
<head>
<title></title>
</head>
<body>
<form runat="server" >
<table>
<tr><td align=center colspan=2>
<asp:Label id="ICQ_Show" runat="server" ForeColor="red" /></td></tr>
<tr><td><br></tr>
<tr><td align=center colspan=2>发送ICQ信息</td></tr>
<tr><td>您的ICQ号:</td><td><asp:TextBox id="ICQ_Number" runat="server" /></td></tr>
<tr><td>您的网名:</td><td><asp:TextBox id="ICQ_Name" runat="server" /></td></tr>
<tr><td>您的Email:</td><td><asp:TextBox id="ICQ_Email" runat="server" /></td></tr>
<tr><td>发送主题:</td><td><asp:TextBox id="ICQ_Subject" runat="server" /></td></tr>
<tr><td>发送内容:</td><td><asp:TextBox id="ICQ_Message" runat="server" /></td></tr>
<tr><td><asp:Button OnClick="Send_Click" Text="发送ICQ信息" RunAt="server" /></td></tr>
</table>
</form>

</body>
</html>