Пример #1
0
		public void ShowPage(string title, MenuWriter menu, BodyWriter body)
		{
			Write("<table cellspacing='0' width='100%' height='100%' cellpadding='4' border='0'>");
			Write("<tr><td colspan='2' class='GenericPageTitle'>" + Escape(title, true) + "</td></tr>");
			Write("<tr><td class='GenericPageMenuColumn' valign=top>");
			menu();
			Write("</td><td width='100%' height='100%' valign=top>");
			body();
			Write("</td></tr></table>");
		}
Пример #2
0
 public RequestInfo(HttpServer.IHttpRequest request, HttpServer.IHttpResponse response, HttpServer.Sessions.IHttpSession session)
 {
     Request = request;
     Response = response;
Пример #3
0
 /// <summary>
 ///     初始化包体
 /// </summary>
 protected override void PutBody()
 {
     BodyWriter.Write((byte)0x01);
     BodyWriter.Write(_toQQ);
 }
Пример #4
0
 /// <summary>
 ///     初始化包体
 /// </summary>
 protected override void PutBody()
 {
     BodyWriter.Write(new byte[] { 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 });
 }
Пример #5
0
 /// <summary>
 ///     初始化包体
 /// </summary>
 protected override void PutBody()
 {
     BodyWriter.Write(Data);
 }
Пример #6
0
 public OperationFormatterMessageBuffer(MessageHeaders headers,
                                        KeyValuePair <string, object>[] properties, BodyWriter bodyWriter)
     : base(headers, properties, bodyWriter)
 {
 }
Пример #7
0
 public OperationFormatterMessage(MessageVersion version, string action, BodyWriter bodyWriter) : base(version, action, bodyWriter)
 {
 }
Пример #8
0
 /// <summary>
 ///     初始化包体
 /// </summary>
 protected override void PutBody()
 {
     BodyWriter.Write(new byte[] { 0x01, 0x00 });
     BodyWriter.Write(_loginStatus);
     BodyWriter.Write(new byte[] { 0x00, 0x01, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00 });
 }
Пример #9
0
 /// <summary>
 ///     初始化包体
 /// </summary>
 protected override void PutBody()
 {
     BodyWriter.Write(new TLV050C().Get_Tlv(User));
 }
Пример #10
0
        /// <summary>
        ///     初始化包体
        /// </summary>
        protected override void PutBody()
        {
            var dateTime = Util.GetTimeSeconds(DateTime.Now);
            var md5      = User.TXProtocol.SessionKey;

            switch (Message?.Snippets[0].Type ?? MessageType.Normal)
            {
            case MessageType.At:
            case MessageType.Normal:
            case MessageType.Picture:
            case MessageType.Emoji:
            {
                BodyWriter.BeWrite(User.QQ);
                BodyWriter.BeWrite(_toQQ);
                BodyWriter.Write(new byte[]
                    {
                        0x00, 0x00, 0x00, 0x0D, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
                        0x01, 0x01
                    });
                BodyWriter.Write(User.TXProtocol.CMainVer);
                BodyWriter.Write(User.TXProtocol.CSubVer);
                BodyWriter.BeWrite(User.QQ);
                BodyWriter.BeWrite(_toQQ);
                BodyWriter.Write(md5);
                BodyWriter.Write(new byte[] { 0x00, 0x0B });
                BodyWriter.Write(Util.RandomKey(2));
                BodyWriter.BeWrite(dateTime);
                BodyWriter.Write(new byte[]
                    {
                        0x02, 0x34, 0x00, 0x00, 0x00, 0x00, _packetCount, _packetIndex, 0x00, 0x00, 0x01, 0x4D,
                        0x53, 0x47,
                        0x00, 0x00, 0x00, 0x00, 0x00
                    });
                BodyWriter.BeWrite(dateTime);
                MessageId = Util.RandomKey(4);
                BodyWriter.Write(MessageId);
                BodyWriter.Write(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x86, 0x00 });
                BodyWriter.Write(new byte[] { 0x00, 0x06 });
                BodyWriter.Write(new byte[] { 0xE5, 0xAE, 0x8B, 0xE4, 0xBD, 0x93 });
                BodyWriter.Write(new byte[] { 0x00, 0x00 });
                BodyWriter.Write(_data);
                break;
            }

            case MessageType.Xml:
            {
                BodyWriter.BeWrite(User.QQ);
                BodyWriter.BeWrite(_toQQ);
                BodyWriter.Write(new byte[] { 0x00, 0x00, 0x00, 0x08, 0x00, 0x01, 0x00, 0x04 });
                BodyWriter.Write(new byte[] { 0x00, 0x00, 0x00, 0x00 });
                BodyWriter.Write(new byte[] { 0x37, 0x0F });
                BodyWriter.BeWrite(User.QQ);
                BodyWriter.BeWrite(_toQQ);
                BodyWriter.Write(md5);
                BodyWriter.Write(new byte[] { 0x00, 0x0B });
                BodyWriter.Write(Util.RandomKey(2));
                BodyWriter.BeWrite(dateTime);
                BodyWriter.Write(new byte[]
                    {
                        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, _packetCount, _packetIndex, 0x00, 0x00, 0x01, 0x4D,
                        0x53, 0x47,
                        0x00, 0x00, 0x00, 0x00, 0x00
                    });
                BodyWriter.BeWrite(dateTime);
                BodyWriter.Write(SendXml(GZipByteArray.CompressBytes(Message.Snippets[0].Content)));
                break;
            }

            case MessageType.Shake:
            {
                BodyWriter.BeWrite(User.QQ);
                BodyWriter.BeWrite(_toQQ);
                BodyWriter.Write(new byte[] { 0x00, 0x00, 0x00, 0x00 });
                BodyWriter.Write(new byte[] { 0x37, 0x0F });
                BodyWriter.BeWrite(User.QQ);
                BodyWriter.BeWrite(_toQQ);
                BodyWriter.Write(Util.RandomKey());
                BodyWriter.Write(new byte[] { 0x00, 0xAF });
                BodyWriter.Write(Util.RandomKey(2));
                BodyWriter.BeWrite(dateTime);
                BodyWriter.Write(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 });
                MessageId = Util.RandomKey(4);
                BodyWriter.Write(MessageId);
                BodyWriter.Write(new byte[] { 0x00, 0x00, 0x00, 0x00 });
                break;
            }

            default:
            {
                throw new NotImplementedException();
            }
            }
        }
Пример #11
0
        public BaristaStreamMessage(MessageHeaders headers, MessageProperties properties, BodyWriter bodyWriter)
        {
            if (bodyWriter == null)
            {
                throw new ArgumentNullException("bodyWriter");
            }

            this.m_headers    = new MessageHeaders(headers);
            this.m_properties = new MessageProperties(properties);
            this.m_bodyWriter = bodyWriter;
        }
Пример #12
0
 public BaristaStreamMessageBuffer(MessageHeaders headers, MessageProperties properties, BodyWriter bodyWriter)
 {
     this.m_bufferBodyWriter = bodyWriter;
     this.m_bufferHeaders    = headers;
     this.m_bufferProperties = properties;
 }
Пример #13
0
 private static Message CreateReply(Message request, XmlDictionaryString action, BodyWriter body)
 {
     if (request.Headers.MessageId != null)
     {
         Message message = Message.CreateMessage(request.Version, ActionHeader.Create(action, request.Version.Addressing), body);
         message.InitializeReply(request);
         return(message);
     }
     return(Message.CreateMessage(request.Version, ActionHeader.Create(action, request.Version.Addressing), body));
 }
Пример #14
0
        /// <summary>
        ///     初始化包体
        /// </summary>
        protected override void PutBody()
        {
            var dateTime = Util.GetTimeSeconds(DateTime.Now);
            var group    = ConvertQQGroupId(_group);

            switch (Message.Snippets[0].Type)
            {
            case MessageType.At:
            case MessageType.Normal:
            case MessageType.Emoji:
            {
                BodyWriter.Write((byte)0x2A);
                BodyWriter.BeWrite(group);
                BodyWriter.BeWrite((ushort)(_data.Length + 50));      // 字符串长度 + 56,但是_data里面包含了和长度有关的额外六个byte
                BodyWriter.Write(new byte[]
                    {
                        0x00, 0x01, _packetCount, _packetIndex, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x53,
                        0x47, 0x00,
                        0x00, 0x00, 0x00, 0x00
                    });
                BodyWriter.BeWrite(dateTime);
                BodyWriter.Write(Util.RandomKey(4));
                BodyWriter.Write(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x86, 0x00 });
                BodyWriter.Write(new byte[] { 0x00, 0x0C });
                BodyWriter.Write(new byte[]
                                 { 0xE5, 0xBE, 0xAE, 0xE8, 0xBD, 0xAF, 0xE9, 0x9B, 0x85, 0xE9, 0xBB, 0x91 });
                BodyWriter.Write(new byte[] { 0x00, 0x00 });
                BodyWriter.Write(_data);
                break;
            }

            case MessageType.Xml:
            {
                BodyWriter.Write((byte)0x2A);
                BodyWriter.BeWrite(group);
                var compressMsg = GZipByteArray.CompressBytes(Message.Snippets[0].Content);
                BodyWriter.BeWrite((ushort)(compressMsg.Length + 64));
                BodyWriter.Write(new byte[]
                    {
                        0x00, 0x01, _packetCount, _packetIndex, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x53,
                        0x47, 0x00,
                        0x00, 0x00, 0x00, 0x00
                    });
                BodyWriter.BeWrite(dateTime);
                BodyWriter.Write(SendXml(compressMsg));
                break;
            }

            case MessageType.Picture:
            {
                HttpUpLoadGroupImg(_group, User.Ukey, Message.Snippets[0].Content);
                BodyWriter.Write((byte)0x2A);
                BodyWriter.BeWrite(group);
                var guid = Encoding.UTF8.GetBytes(Util.GetMD5ToGuidHashFromFile(Message.Snippets[0].Content));
                BodyWriter.Write(new byte[]
                    {
                        0x00, 0x01, _packetCount, _packetIndex, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x53,
                        0x47, 0x00,
                        0x00, 0x00, 0x00, 0x00
                    });
                BodyWriter.BeWrite(dateTime);
                BodyWriter.Write(Util.RandomKey(4));
                BodyWriter.Write(new byte[] { 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x86, 0x00 });
                BodyWriter.Write(new byte[]
                                 { 0xE5, 0xBE, 0xAE, 0xE8, 0xBD, 0xAF, 0xE9, 0x9B, 0x85, 0xE9, 0xBB, 0x91 });
                BodyWriter.Write(new byte[] { 0x00, 0x00, 0x03, 0x00, 0xCB, 0x02 });
                BodyWriter.Write(new byte[] { 0x00, 0x2A });
                BodyWriter.Write(guid);
                BodyWriter.Write(new byte[] { 0x04, 0x00, 0x04 });
                BodyWriter.Write(new byte[]
                    {
                        0x9B, 0x53, 0xB0, 0x08, 0x05, 0x00, 0x04, 0xD9, 0x8A, 0x5A, 0x70, 0x06, 0x00,
                        0x04, 0x00, 0x00, 0x00, 0x50, 0x07, 0x00, 0x01, 0x43, 0x08, 0x00, 0x00, 0x09, 0x00, 0x01,
                        0x01,
                        0x0B,
                        0x00, 0x00, 0x14, 0x00, 0x04, 0x11, 0x00, 0x00, 0x00, 0x15, 0x00, 0x04, 0x00, 0x00, 0x02,
                        0xBC,
                        0x16,
                        0x00, 0x04, 0x00, 0x00, 0x02, 0xBC, 0x18, 0x00, 0x04, 0x00, 0x00, 0x7D, 0x5E, 0xFF, 0x00,
                        0x5C,
                        0x15,
                        0x36, 0x20, 0x39, 0x32, 0x6B, 0x41, 0x31, 0x43, 0x39, 0x62, 0x35, 0x33, 0x62, 0x30, 0x30,
                        0x38,
                        0x64,
                        0x39, 0x38, 0x61, 0x35, 0x61, 0x37, 0x30
                    });
                BodyWriter.Write(new byte[]
                    {
                        0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x35, 0x30, 0x20, 0x20, 0x20, 0x20, 0x20,
                        0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20
                    });
                BodyWriter.Write(guid);
                BodyWriter.Write(0x41);
                break;
            }

            case MessageType.AddGroup:
            {
                BodyWriter.Write(new byte[] { 0x08 });
                BodyWriter.BeWrite(group);
                BodyWriter.Write(new byte[] { 0x01 });
                BodyWriter.BeWrite((ushort)User.AddFriend0020Value.Length);
                BodyWriter.Write(User.AddFriend0020Value);
                BodyWriter.Write(new byte[] { 0x00, 0x00, 0x00 });
                //备注信息
                var messageData = Encoding.UTF8.GetBytes(Message.Snippets[0].Content);
                Writer.BeWrite((ushort)messageData.Length);
                Writer.Write(messageData);
                BodyWriter.Write(new byte[] { 0x01, 0x00, 0x01, 0x00, 0x04, 0x00, 0x01, 0x00, 0x09 });
                break;
            }

            case MessageType.GetGroupImformation:
            {
                BodyWriter.Write(new byte[] { 0x72 });
                BodyWriter.BeWrite(group);
                break;
            }

            case MessageType.ExitGroup:
            {
                BodyWriter.Write(new byte[] { 0x09 });
                BodyWriter.BeWrite(group);
                break;
            }

            default:
            {
                throw new NotImplementedException();
            }
            }
        }
Пример #15
0
 /// <summary>
 ///     初始化包体
 /// </summary>
 protected override void PutBody()
 {
     BodyWriter.Write((byte)0x88);
     BodyWriter.BeWrite(User.QQ);
     BodyWriter.Write((byte)0x00);
 }
Пример #16
0
 /// <summary>
 ///     初始化包体
 /// </summary>
 protected override void PutBody()
 {
     BodyWriter.BeWrite(User.QQ);
 }
Пример #17
0
 public HttpServer.Sessions.IHttpSession Session { get; private set; }
Пример #18
0
 /// <summary>
 ///     初始化包体
 /// </summary>
 protected override void PutBody()
 {
     BodyWriter.Write(new byte[] { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03 });
     BodyWriter.BeWrite(ToQQ);
     BodyWriter.Write(new byte[] { 0x69, 0x8e, 0x7e, 0x44, 0x3c, 0x11, 0xea, 0x7c });
 }