ASP.NET发送ICQ信息DIY(1)
你当前的位置:烁空 --> 技术文档全集
这里我给大家提供一个很实用的例子,就是在线发送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 ";
SENDMSG += "ACCEPT: IMAGE/GIF, IMAGE/X-XBITMAP, IMAGE/JPEG, IMAGE/PJPEG,";
SENDMSG += " APPLICATION/VND.MS-EXCEL,";
SENDMSG += " APPLICATION/MSWORD, APPLICATION/VND.MS-POWERPOINT, */* ";
SENDMSG += "ACCEPT-LANGUAGE: ZH-CN ";
SENDMSG += "CONTENT-TYPE: APPLICATION/X-WWW-FORM-URLENCODED ";
SENDMSG += "ACCEPT-ENCODING: GZIP, DEFLATE ";
SENDMSG += "USER-AGENT: MOZILLA/4.0 (COMPATIBLE; MSIE 5.01; WINDOWS 95) ";
SENDMSG += "HOST: WWP.ICQ.COM ";
SENDMSG += "CONTENT-LENGTH: " + COMMANDMSG.LENGTH + " ";
SENDMSG += "CONNECTION: KEEP-ALIVE ";
SENDMSG += COMMANDMSG + " ";

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>