|
楼主 |
发表于 2012-4-26 23:12:41
|
显示全部楼层
来自 中国–浙江–丽水
接口的开发方法:接口文件可以用asp、php、asp.net等语言完成。下面是asp.net语言范例:
- using System;
- using System.Collections;
- using System.Configuration;
- using System.Data;
- using System.Linq;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.HtmlControls;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Xml.Linq;
- using System.IO;
- using System.Text.RegularExpressions;
- namespace Web
- {
- public partial class qqinterface : System.Web.UI.Page
- {
- public static Queue que = Queue.Synchronized(new Queue());
- public static Hashtable hashFriends = Hashtable.Synchronized(new Hashtable());
- protected void Page_Load(object sender, EventArgs e)
- {
- if (Request.RequestType.Equals("post", StringComparison.InvariantCultureIgnoreCase))
- {
- string ExternalId = Request.Form["ExternalId"];
- string Sender = Request.Form["Sender"];
- string Message = Request.Form["Message"];
- if (ExternalId == "0")
- {//qq消息
- Cache["receive"] = string.Format("这是一个接口程序,想回复什么可以自由实现,支持asp,php,asp.net等等基于http协议的程序,由什么疑问欢迎联系QQ:915271014\n\n收到QQ:{0}的消息:{1}", Sender, Message);
- Response.Write(string.Format("这是一个接口程序,想回复什么可以自由实现,支持asp,php,asp.net等等基于 http协议的程序,由什么疑问欢迎联系QQ:915271014\n\n收到QQ:{0}的消息:{1}", Sender, Message));
- }
- else if (ExternalId == "-1")
- {//加好友消息
- Cache["receive"] = string.Format("这是一个接口程序,想回复什么可以自由实现,支持asp,php,asp.net等等基于http协议的程序,由什么疑问欢迎联系QQ:915271014\n\n收到加好友的请求:{0}的消息:{1}", Sender, Message);
- que.Enqueue("0\n915271014\n" + Sender + "加机器人为好友");
- Response.Write(string.Format("这是一个接口程序,想回复什么可以自由实现,支持asp,php,asp.net等等基于 http协议的程序,由什么疑问欢迎联系QQ:915271014\n\n收到加好友的请求:{0}的消息:{1}", Sender, Message));
- }
- else if (ExternalId == "-2")
- {//好友列表
- StringReader reader = new StringReader(Message);
- string line = reader.ReadLine();
- while (line != null)
- {
- Match m = Regex.Match(line, @"^(\d+) (ONLINE|OFFLINE|AWAY|HIDDEN) (.*?)$", RegexOptions.Compiled | RegexOptions.IgnoreCase);
- string qq = m.Groups[1].ToString();
- string status = m.Groups[2].ToString();
- string nick = m.Groups[3].ToString();
- hashFriends[qq] = new string[] { nick, status };
- line = reader.ReadLine();
- }
- }
- else if (ExternalId == "-3")
- {
- //qq签名改变
- Cache["receive"] = string.Format("收到QQ:{0}的签名:{1}", Sender, Message);
- Response.Write(string.Format("{0},您的新签名很有意思:{1}", Sender, Message));
- }
- else
- {//群消息处理
- Cache["receive"] = string.Format("这是一个接口程序,想回复什么可以自由实现,支持asp,php,asp.net等等基于http协议的程序,由什么疑问欢迎联系QQ:915271014\n\n收到群:{0}的消息:{1}", ExternalId, Message);
- Response.Write(string.Format("这是一个接口程序,想回复什么可以自由实现,支持asp,php,asp.net等等基于 http协议的程序,由什么疑问欢迎联系QQ:915271014\n\n收到群:{0}的消息:{1}", ExternalId, Message));
- }
- }
- else
- {
- if (que.Count>0)
- {
- Response.Write(que.Dequeue() as string);
- }
- //Response.Write("71377165\n0\n现在时间是:" + DateTime.Now.ToString());//主动给群71377165发送消息
- //Response.Write("0\n915271014\n现在时间是:" + DateTime.Now.ToString());//主动发送QQ消息给915271014
- }
- }
- }
- }
复制代码
注意qqinterface.aspx内容只有一句:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="qqinterface.aspx.cs" Inherits="Web.qqinterface" %>
asp接口示例 :
- <%
- Response.Charset="utf-8"
- If request.Form("Sender") <> "" Then
- if request.Form("ExternalId")<>"0" Then
- Response.Write "收到来自群" + request.Form("ExternalId")&"的消息:"&request.Form("Message")
- else
- Response.Write "收到来自"&request.Form("Sender")&"的消息:"&request.Form("Message")
- end if
- Else
- //Response.Write "0"&vbcrlf&"915271014"&vbcrlf&"你要发送的信息"
- End If
- %>
复制代码
|
|