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技術!