Asp.Net实现发送ICQ信息{转}

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

  1. <% @ Page Language="C#" %>   
  2. <% @ Assembly Name="System.Net" %>   
  3. <% @ Import Namespace="System.Net" %>   
  4. <% @ Import Namespace="System.Net.Sockets" %>   
  5. <% @ Import Namespace="System.IO" %>   
  6. <% @ Import Namespace="System.Text" %>   
  7.   
  8. <Script Language="C#" Runat="Server">   
  9. public void Page_Load(Object src,EventArgs e)   
  10. {   
  11.     ICQ_Show.Text="如果提交后,在这里显示信息";    
  12. }   
  13.   
  14. public void Send_Click(Object sender,EventArgs e)   
  15. {   
  16.     string sendmsg;   
  17.     string commandmsg;   
  18.     //首先取得要发送的信息   
  19.     commandmsg = "from="+ICQ_Name.Text+"&fromemail="+ICQ_Email.Text+"&subject=";    
  20.     commandmsg +=  ICQ_Subject.Text+"&body="+ICQ_Message.Text+"&to="+ICQ_Number.Text    
  21.     commandmsg +=  "&SendSend=Send+Message";   
  22.     //然后就是组装全部的信息   
  23.     sendmsg="POST /scripts/WWPMsg.dll HTTP/1.1\r\n";   
  24.     sendmsg += "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg,";   
  25.     sendmsg += " application/vnd.ms-excel,";   
  26.     sendmsg += " application/msword, application/vnd.ms-powerpoint, */*\r\n";   
  27.     sendmsg += "Accept-Language: zh-cn\r\n";   
  28.     sendmsg += "Content-Type: application/x-www-form-urlencoded\r\n";   
  29.     sendmsg += "Accept-Encoding: gzip, deflate\r\n";   
  30.     sendmsg += "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows 95)\r\n";   
  31.     sendmsg += "Host: wwp.icq.com\r\n";   
  32.     sendmsg += "Content-Length: " + commandmsg.Length + "\r\n";   
  33.     sendmsg += "Connection: Keep-Alive\r\n\r\n";   
  34.     sendmsg += commandmsg + "\r\n\r\n";   
  35.   
  36.     Byte[] arrMsg=Encoding.Default.GetBytes(sendmsg.ToCharArray());   
  37.     //需要发送的信息处理完毕   
  38.   
  39.     //======下面就是发送这些信息=====   
  40.     //首先是建立一个TCPClient 对象   
  41.     TCPClient tcpc=new TCPClient();   
  42.     if(0==tcpc.Connect("wwp.icq.com",80))   
  43.     {   
  44.         Stream sm = tcpc.GetStream();   
  45.         sm.Write(arrMsg,0,sendmsg.Length);   
  46.         StreamReader sr=new StreamReader(tcpc.GetStream(),Encoding.Default);   
  47.         string strRev=sr.ReadLine();   
  48.         if(strRev.IndexOf("OK")!=-1)   
  49.         {   
  50.             ICQ_Show.Text="ICQ消息发送成功";   
  51.         }   
  52.         else   
  53.         {   
  54.             ICQ_Show.Text="ICQ消息发送不成功";   
  55.         }   
  56.   
  57.     }   
  58.     else   
  59.     {   
  60.         ICQ_Show.Text="ICQ消息发送不成功,无法联结ICQ服务器";   
  61.     }   
  62.     //关闭TCP联结   
  63.     tcpc.Close();   
  64. }   
  65.   
  66. </script>   
  67. <html>   
  68. <meta http-equiv="Content-Language" content="zh-cn">   
  69. <head>   
  70. <title></title>   
  71. </head>   
  72. <body>   
  73. <form runat="server" >   
  74. <table>   
  75. <tr><td align=center colspan=2>   
  76.       <asp:Label id="ICQ_Show" runat="server" ForeColor="red" /></td></tr>   
  77. <tr><td>   
  78. </tr>   
  79. <tr><td align=center colspan=2>发送ICQ信息</td></tr>   
  80. <tr><td>您的ICQ号:</td><td><asp:TextBox id="ICQ_Number" runat="server" /></td></tr>   
  81. <tr><td>您的网名:</td><td><asp:TextBox id="ICQ_Name" runat="server" /></td></tr>   
  82. <tr><td>您的Email:</td><td><asp:TextBox id="ICQ_Email" runat="server" /></td></tr>   
  83. <tr><td>发送主题:</td><td><asp:TextBox id="ICQ_Subject" runat="server" /></td></tr>   
  84. <tr><td>发送内容:</td><td><asp:TextBox id="ICQ_Message" runat="server" /></td></tr>   
  85. <tr><td><asp:Button OnClick="Send_Click" Text="发送ICQ信息" RunAt="server" /></td></tr>   
  86. </table>   
  87. </form>   
  88. </body>   
  89. </html>   
posted @ 2012-05-03 15:13  Chaoa  阅读(153)  评论(0)    收藏  举报