av网站免费线看精品_国产做a爱视频免费不_深爱激情网开心五月天_伊人五月天在线视频网

 
用ASP.Net寫一個發(fā)送ICQ信息的程序
發(fā)布時間:2005-03-17   瀏覽次數(shù):1230901
這里我給大家提供一個很實用的例子,是在線發(fā)送ICQ信息。想一想我們在網(wǎng)頁上直接給朋友發(fā)送ICQ信息,那是多么美妙的事情啊。呵呵,在吹牛啊,其實ICQ本來有在線發(fā)送的代碼,不過,這些都是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>
//首先取得要發(fā)送的信息 <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>
//然后是組裝全部的信息 <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>
//需要發(fā)送的信息處理完畢 <br>
<br>
//======下面是發(fā)送這些信息===== <br>
//首先是建立一個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消息發(fā)送成功"; <br>
} <br>
else <br>
{ <br>
ICQ_Show.Text="ICQ消息發(fā)送不成功"; <br>
} <br>
<br>
} <br>
else <br>
{ <br>
ICQ_Show.Text="ICQ消息發(fā)送不成功,無法聯(lián)結(jié)ICQ服務(wù)器"; <br>
} <br>
//關(guān)閉TCP聯(lián)結(jié) <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>發(fā)送ICQ信息</td></tr> <br>
<tr><td>您的ICQ號:</td><td><asp:TextBox id="ICQ_Number" runat="server" /></td></tr> <br>
<tr><td>您的網(wǎng)名:</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>發(fā)送主題:</td><td><asp:TextBox id="ICQ_Subject" runat="server" /></td></tr> <br>
<tr><td>發(fā)送內(nèi)容:</td><td><asp:TextBox id="ICQ_Message" runat="server" /></td></tr> <br>
<tr><td><asp:Button OnClick="Send_Click" Text="發(fā)送ICQ信息" RunAt="server" /></td></tr> <br>
</table> <br>
</form> <br>
<br>
<br>
</body> <br>
</html> <br>
<br>
<br>
開始顯示是這個樣子: <br>
<br>
 如果提交后,在這里顯示信息 <br>
<br>
<br>
發(fā)送ICQ信息 <br>
您的ICQ號: <br>
您的網(wǎng)名: <br>
您的Email: <br>
發(fā)送主題: <br>
發(fā)送內(nèi)容: <br>
<br>
<br>
<br>
按下"發(fā)送ICQ信息"鍵后的顯示是: <br>
<br>
 ICQ消息發(fā)送成功 <br>
<br>
<br>
發(fā)送ICQ信息 <br>
您的ICQ號: <br>
您的網(wǎng)名: <br>
您的Email: <br>
發(fā)送主題: <br>
發(fā)送內(nèi)容: <br>
<br>
<br>
<br>
相信大家能看懂上面的程序,我已經(jīng)加了注釋,應(yīng)當沒有問題吧。呵呵。其實這個程序也不過是在走AOL在線代碼的老路,只是寫了個程序模擬了POST方法。不過這個已經(jīng)足夠了,我們寫程序時也不必為那個POST如表示來煩人了。 <br>
<br>
有了ICQ信息,肯定不少朋友會問到OICQ,畢竟在國內(nèi)OICQ是老大。但是很不幸,騰訊公司并沒有給我們提供接口,我寫信去問,他們告訴我沒有提供,其實我也搞到一個,是通過WAP方式搞到的。但是這個不太好,只能是向騰訊公司發(fā)通知的那種形式出現(xiàn),很不好玩,而且還必須網(wǎng)友在線才能收到,太沒有意思了。本來也想通過UDP直接來寫,但是實在不知道,這個數(shù)據(jù)包中要填些什么東東去驗證,所以也沒有辦法,如果哪位朋友知道,請您寫信給我,我也在waiting著啊。 <br>
<br>
關(guān)于這個發(fā)ICQ信息的例子示范,我把它放在 http://aspx1.brinkster.com/feidao/code/Qicq.aspx 上了,大家有興趣去看一下,呵呵。 <br>
來源:http://edu.chinaz.com
立即預(yù)約