ASP.NET发送ICQ消息DIY
2024-07-10 12:57:56
供稿:网友
asp.net发送icq信息diy<br>
<br>
<br>
<br>
这里我给大家提供一个很实用的例子,就是在线发送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>
file://首先取得要发送的信息<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>
file://然后就是组装全部的信息<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>
file://需要发送的信息处理完毕<br>
<br>
file://======下面就是发送这些信息=====<br>
file://首先是建立一个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>
file://关闭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>
</body><br>
</html><br>
<br>
开始显示是这个样子:<br>
<br>
如果提交后,在这里显示信息 <br>
<br>
发送icq信息 <br>
您的icq号: <br>
您的网名: <br>
您的email: <br>
发送主题: <br>
发送内容: <br>
<br>
按下"发送icq信息"键后的显示是:<br>
<br>
icq消息发送成功 <br>
<br>
<br>
发送icq信息 <br>
您的icq号: <br>
您的网名: <br>
您的email: <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>
<br>
网站运营seo文章大全提供全面的站长运营经验及seo技术!