网站首页站长博客下载中心域名交易站长论坛域名主机免费电邮免费域名中文排行排名查询站长书库书籍教程下载
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
学院首页 网络编程 网页设计 图形图象 数 据 库 服 务 器 网络媒体 网络安全 个人专栏 站长CLUB 业界新闻 信息公告
 当前位置:首页 >> 网络编程 >> NET专区 >> 正文
公告通知
返回上级列表
资料搜索
相关文章
用ASP.Net写一个发送ICQ信息的程序
[ 来源: | 作者: | 时间:2004-6-25 13:03:00 | 浏览:人次 ]
收藏到新浪ViVi 收藏到365KEY 收藏到我摘  字号选择〖    〗/ 双击滚屏 单击停止  
这里我给大家提供一个很实用的例子,就是在线发送ICQ信息。想一想我们在网页上直接给朋友发送ICQ信息,那是多么美妙的事情啊。呵呵,在吹牛啊,其实ICQ本来就有在线发送的代码,不过,这些都是AOL给你写好的代码,多没有意思啊。还是自已写的比较好,呵呵,废话少说,大家来看代码吧 <br>
<br>
<% @ Page Language="C#" %> <br>
<% @ Assembly Name="System.Net" %> <br>
<% @ Import Namespace="System.Net" %> <br>
<% @ Import Namespace="System.Net.Sockets" %> <br>
<% @ Import Namespace="System.IO" %> <br>
<% @ Import Namespace="System.Text" %> <br>
<br>
<Script Language="C#" Runat="Server"> <br>
public void Page_Load(Object src,EventArgs e) <br>
{ <br>
ICQ_Show.Text="如果提交后,在这里显示信息"; <br>
} <br>
<br>
public void Send_Click(Object sender,EventArgs e) <br>
{ <br>
string sendmsg; <br>
string commandmsg; <br>
//首先取得要发送的信息 <br>
commandmsg = "from="+ICQ_Name.Text+"&fromemail="+ICQ_Email.Text+"&subject="; <br>
commandmsg += ICQ_Subject.Text+"&body="+ICQ_Message.Text+"&to="+ICQ_Number.Text <br>
commandmsg += "&Send=Send+Message"; <br>
//然后就是组装全部的信息 <br>
sendmsg="POST /scripts/WWPMsg.dll HTTP/1.1\r\n"; <br>
sendmsg += "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,"; <br>
sendmsg += " application/vnd.ms-excel,"; <br>
sendmsg += " application/msword, application/vnd.ms-powerpoint, */*\r\n"; <br>
sendmsg += "Accept-Language: zh-cn\r\n"; <br>
sendmsg += "Content-Type: application/x-www-form-urlencoded\r\n"; <br>
sendmsg += "Accept-Encoding: gzip, deflate\r\n"; <br>
sendmsg += "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows 95)\r\n"; <br>
sendmsg += "Host: wwp.icq.com\r\n"; <br>
sendmsg += "Content-Length: " + commandmsg.Length + "\r\n"; <br>
sendmsg += "Connection: Keep-Alive\r\n\r\n"; <br>
sendmsg += commandmsg + "\r\n\r\n"; <br>
<br>
Byte[] arrMsg=Encoding.Default.GetBytes(sendmsg.ToCharArray()); <br>
//需要发送的信息处理完毕 <br>
<br>
//======下面就是发送这些信息===== <br>
//首先是建立一个TCPClient 对象 <br>
TCPClient tcpc=new TCPClient(); <br>
if(0==tcpc.Connect("wwp.icq.com",80)) <br>
{ <br>
Stream sm = tcpc.GetStream(); <br>
sm.Write(arrMsg,0,sendmsg.Length); <br>
StreamReader sr=new StreamReader(tcpc.GetStream(),Encoding.Default); <br>
string strRev=sr.ReadLine(); <br>
if(strRev.IndexOf("OK")!=-1) <br>
{ <br>
ICQ_Show.Text="ICQ消息发送成功"; <br>
} <br>
else <br>
{ <br>
ICQ_Show.Text="ICQ消息发送不成功"; <br>
} <br>
<br>
} <br>
else <br>
{ <br>
ICQ_Show.Text="ICQ消息发送不成功,无法联结ICQ服务器"; <br>
} <br>
//关闭TCP联结 <br>
tcpc.Close(); <br>
} <br>
<br>
</script> <br>
<html> <br>
<meta http-equiv="Content-Language" content="zh-cn"> <br>
<head> <br>
<title></title> <br>
</head> <br>
<body> <br>
<form runat="server" > <br>
<table> <br>
<tr><td align=center colspan=2> <br>
<asp:Label id="ICQ_Show" runat="server" ForeColor="red" /></td></tr> <br>
<tr><td><br></tr> <br>
<tr><td align=center colspan=2>发送ICQ信息</td></tr> <br>
<tr><td>您的ICQ号:</td><td><asp:TextBox id="ICQ_Number" runat="server" /></td></tr> <br>
<tr><td>您的网名:</td><td><asp:TextBox id="ICQ_Name" runat="server" /></td></tr> <br>
<tr><td>您的Email:</td><td><asp:TextBox id="ICQ_Email" runat="server" /></td></tr> <br>
<tr><td>发送主题:</td><td><asp:TextBox id="ICQ_Subject" runat="server" /></td></tr> <br>
<tr><td>发送内容:</td><td><asp:TextBox id="ICQ_Message" runat="server" /></td></tr> <br>
<tr><td><asp:Button OnClick="Send_Click" Text="发送ICQ信息" RunAt="server" /></td></tr> <br>
</table> <br>
</form> <br>
<br>
<br>
</body> <br>
</html> <br>
<br>
<br>
开始显示是这个样子: <br>
<br>
 如果提交后,在这里显示信息 <br>
<br>
<br>
发送ICQ信息 <br>
您的ICQ号: <br>
您的网名: <br>
您的Email: <br>
发送主题: <br>
发送内容: <br>
<br>
<br>
<br>
按下"发送ICQ信息"键后的显示是: <br>
<br>
 ICQ消息发送成功 <br>
<br>
<br>
发送ICQ信息 <br>
您的ICQ号: <br>
您的网名: <br>
您的Email: <br>
发送主题: <br>
发送内容: <br>
<br>
<br>
<br>
相信大家能看懂上面的程序,我已经加了注释,应当没有问题吧。呵呵。其实这个程序也不过是在走AOL在线代码的老路,只是写了个程序模拟了POST方法。不过这个已经足够了,我们写程序时也就不必为那个POST如表示来烦人了。 <br>
<br>
有了ICQ信息,肯定不少朋友会问到OICQ,毕竟在国内OICQ是老大。但是很不幸,腾讯公司并没有给我们提供接口,我写信去问,他们告诉我没有提供,其实我也搞到一个,是通过WAP方式搞到的。但是这个不太好,只能是向腾讯公司发通知的那种形式出现,很不好玩,而且还必须网友在线才能收到,太没有意思了。本来也想通过UDP直接来写,但是实在不知道,这个数据包中要填些什么东东去验证,所以也没有办法,如果哪位朋友知道,请您写信给我,我也在waiting着啊。 <br>
<br>
关于这个发ICQ信息的例子示范,我把它放在 http://aspx1.brinkster.com/feidao/code/Qicq.aspx 上了,大家有兴趣去看一下,呵呵。 <br>

[发送给好友]  [打印本页]  [关闭窗口]  [返回顶部]   转载请注明来源:http://edu.chinaz.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
栏目编辑: 设计风 责任编辑: chinaz.com
原始作者: 录入时间: 2004-6-25 13:03:00
信息来源: 投稿信箱: Edu#chinaz.com
设为首页 - 加入收藏 - 关于我们 - 广告服务 - 版权申明 - 友情链接 - 联系方式 - 总编信箱 - 会员投稿