网页功能: 加入收藏 设为首页 网站搜索  
ASP.NET发送ICQ消息DIY
发表日期:2003-07-02作者:[] 出处:  

  这里我给大家提供一个很实用的例子,就是在线发送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>

  开始显示是这个样子:

    如果提交后,在这里显示信息

      发送ICQ信息

您的ICQ号: 

您的网名:  

您的Email: 

发送主题:  

发送内容:  

按下"发送ICQ信息"键后的显示是:

    ICQ消息发送成功

      发送ICQ信息

  您的ICQ号: 

  您的网名:  

  您的Email: 

  发送主题:  

  发送内容:  

  相信大家能看懂上面的程序,我已经加了注释,应当没有问题吧。呵呵。其实这个程序也不过是在走AOL在线代码的老路,只是写了个程序模拟了POST方法。不过这个已经足够了,我们写程序时也就不必为那个POST如表示来烦人了。

  有了ICQ信息,肯定不少朋友会问到OICQ,毕竟在国内OICQ是老大。但是很不幸,腾讯公司并没有给我们提供接口,我写信去问,他们告诉我没有提供,其实我也搞到一个,是通过WAP方式搞到的。但是这个不太好,只能是向腾讯公司发通知的那种形式出现,很不好玩,而且还必须网友在线才能收到,太没有意思了。本来也想通过UDP直接来写,但是实在不知道,这个数据包中要填些什么东东去验证,所以也没有办法,如果哪位朋友知道,请您写信给我,我也在waiting着啊。

我来说两句】 【加入收藏】 【返加顶部】 【打印本页】 【关闭窗口
中搜索 ASP.NET发送ICQ消息DIY
本类热点文章
  编写高性能Web应用程序的10个入门技巧
  ASP.NET2.0 缓存(Cache)技术介绍
  ASP.NET中水晶报表的使用
  ASP.NET中水晶报表的使用
  关于水晶报表10的字报表数据填充和显示
  细细品味ASP.NET
  细细品味ASP.NET
  ASP.NET中制作图形
  ASP.NET中制作图形
  asp.net上传图片并同时生成缩略图
  asp.net上传图片并同时生成缩略图
  ASP.NET中树形图的实现
最新分类信息我要发布 
最新招聘信息

关于我们 / 合作推广 / 给我留言 / 版权举报 / 意见建议 / 广告投放  
Copyright ©2003-2024 Lihuasoft.net webmaster(at)lihuasoft.net
网站编程QQ群   京ICP备05001064号 页面生成时间:0.00393