Example #1
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            QQSession     session = getContext().getSession();
            QQHttpRequest req     = createHttpRequest("GET",
                                                      QQConstants.URL_GET_SESSION_MSG_SIG);

            if (user is QQGroupMember)
            {
                QQGroupMember mb = (QQGroupMember)user;
                mb.setServiceType(0);
                req.addGetValue("id", mb.getGroup().getGin() + "");
                req.addGetValue("service_type", "0");         // 0为群,1为讨论组
            }
            else if (user is QQDiscuzMember)
            {
                QQDiscuzMember mb = (QQDiscuzMember)user;
                mb.setServiceType(1);
                req.addGetValue("id", mb.getDiscuz().getDid() + "");
                req.addGetValue("service_type", "1");         // 0为群,1为讨论组
            }
            else
            {
            }
            req.addGetValue("to_uin", user.getUin() + "");
            req.addGetValue("clientid", session.getClientId() + "");
            req.addGetValue("psessionid", session.getSessionId());
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");
            return(req);
        }
Example #2
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            ApacheHttpService httpService = getContext().getSerivce();
            QQSession         session     = getContext().getSession();
            Random            rand        = new Random();

            if (session.getClientId() == 0)
            {
                session.setClientId(rand.Next());         //random??
            }

            JSONObject json = new JSONObject();

            json.put("status", "online");
            json.put("ptwebqq", httpService.getCookie("ptwebqq", QQConstants.URL_CHANNEL_LOGIN).Value);
            json.put("passwd_sig", "");
            json.put("clientid", session.getClientId());
            json.put("psessionid", session.getSessionId());

            QQHttpRequest req = createHttpRequest("POST", QQConstants.URL_CHANNEL_LOGIN);

            req.addPostValue("r", json.ToString());
            req.addPostValue("clientid", session.getClientId() + "");
            req.addPostValue("psessionid", session.getSessionId());

            //req.addHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Example #3
0
        /** {@inheritDoc} */

        public void execute()
        {
            try {
                switch (type)
                {
                case Type.BUILD_REQUEST: {
                    ApacheHttpService service = context.getSerivce();
                    QQHttpRequest     request = action.onBuildRequest();
                    service.executeHttpRequest(request, new HttpAdaptor(context, action));
                }
                break;


                case Type.ON_HTTP_ERROR:
                    action.onHttpError(throwable);
                    break;

                case Type.ON_HTTP_FINISH:
                    action.onHttpFinish(response);
                    break;
                }
            } catch (QQException e) {
                action.notifyActionEvent(QQActionEvent.Type.EVT_ERROR, e);
            }
        }
Example #4
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            // retype:1 app:EQQ
            // itemlist:{"groupmask":{"321105219":"1","1638195794":"0","cAll":0,"idx":1075,"port":37883}}
            // vfwebqq:8b26c442e239630f250e1e74d135fd85ab78c38e7b8da1c95a2d1d560bdebd2691443df19d87e70d
            QQStore       store   = getContext().getStore();
            QQSession     session = getContext().getSession();
            QQHttpRequest req     = createHttpRequest("POST", QQConstants.URL_GROUP_MESSAGE_FILTER);

            req.addPostValue("retype", "1");            // 群???
            req.addPostValue("app", "EQQ");

            JSONObject groupmask = new JSONObject();

            groupmask.put("cAll", 0);
            groupmask.put("idx", session.getIndex());
            groupmask.put("port", session.getPort());
            foreach (QQGroup g in store.getGroupList())
            {
                if (g.getGin() > 0)
                {
                    groupmask.put(g.getGin() + "", g.getMask() + "");
                }
            }
            JSONObject itemlist = new JSONObject();

            itemlist.put("groupmask", groupmask);
            req.addPostValue("itemlist", itemlist.ToString());
            req.addPostValue("vfwebqq", getContext().getSession().getVfwebqq());

            return(req);
        }
Example #5
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            QQHttpRequest req = createHttpRequest("GET", QQConstants.URL_GET_CAPTCHA);

            req.addGetValue("aid", QQConstants.APPID);
            req.addGetValue("r", new Random().NextDouble() + "");
            req.addGetValue("uin", uin + "");
            return(req);
        }
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            QQHttpRequest req = createHttpRequest("GET", QQConstants.URL_GET_GROUP_INFO_EXT);

            req.addGetValue("gcode", group.getCode() + "");
            req.addGetValue("vfwebqq", getContext().getSession().getVfwebqq());
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");
            return(req);
        }
Example #7
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            QQHttpRequest req     = createHttpRequest("GET", QQConstants.URL_GET_USER_LEVEL);
            QQSession     session = getContext().getSession();

            req.addGetValue("tuin", user.getUin() + "");
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");
            req.addGetValue("vfwebqq", session.getVfwebqq());
            return(req);
        }
Example #8
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            // r:{"to":2982077931,"face":0,"content":"[\"123\",[\"face\",1],\"456\",[\"face\",0],\"\",\"\\n【提示:此用户正在使用Q+ Web:http://web.qq.com/】\",[\"font\",{\"name\":\"微软雅黑\",\"size\":\"11\",\"style\":[0,0,0],\"color\":\"ffcc99\"}]]","msg_id":91310001,"clientid":"74131454","psessionid":"8368046764001e636f6e6e7365727665725f77656271714031302e3133332e34312e3230320000230700001f01026e04002aafd23f6d0000000a40484a526f4866467a476d00000028d954c71693cd99ae8c0c64b651519e88f55ce5075140346da7d957f3abefb51d0becc25c425d7cf5"}
            // r:{"group_uin":3408869879,"content":"[\"群消息发送测试\",[\"face\",13],\"\",\"\\n【提示:此用户正在使用Q+ Web:http://web.qq.com/】\",[\"font\",{\"name\":\"微软雅黑\",\"size\":\"11\",\"style\":[0,0,0],\"color\":\"ffcc99\"}]]","msg_id":91310002,"clientid":"74131454","psessionid":"8368046764001e636f6e6e7365727665725f77656271714031302e3133332e34312e3230320000230700001f01026e04002aafd23f6d0000000a40484a526f4866467a476d00000028d954c71693cd99ae8c0c64b651519e88f55ce5075140346da7d957f3abefb51d0becc25c425d7cf5"}
            // clientid、psessionid

            QQSession     session = getContext().getSession();
            JSONObject    json    = new JSONObject();
            QQHttpRequest req     = null;

            if (msg.getType() == QQMsg.Type.BUDDY_MSG)
            {
                req = createHttpRequest("POST", QQConstants.URL_SEND_BUDDY_MSG);
                json.put("to", msg.getTo().getUin());
                json.put("face", 0);         // 这个是干嘛的??
            }
            else if (msg.getType() == QQMsg.Type.GROUP_MSG)
            {
                req = createHttpRequest("POST", QQConstants.URL_SEND_GROUP_MSG);
                json.put("group_uin", msg.getGroup().getGin());
//			json.put("key", session.getCfaceKey());
//			json.put("sig", session.getCfaceSig());
            }
            else if (msg.getType() == QQMsg.Type.DISCUZ_MSG)
            {
                req = createHttpRequest("POST", QQConstants.URL_SEND_DISCUZ_MSG);
                json.put("did", msg.getDiscuz().getDid());
                json.put("key", session.getCfaceKey());
                json.put("sig", session.getCfaceSig());
            }
            else if (msg.getType() == QQMsg.Type.SESSION_MSG)           // 临时会话消息
            {
                req = createHttpRequest("POST", QQConstants.URL_SEND_SESSION_MSG);
                QQStranger member = (QQStranger)msg.getTo();
                json.put("to", member.getUin());
                json.put("face", 0);         // 这个是干嘛的??
                json.put("group_sig", member.getGroupSig());
                json.put("service_type", member.getServiceType() + "");
            }
            else
            {
            }

            json.put("content", msg.packContentList());
            json.put("msg_id", 91310001 + "");
            json.put("clientid", session.getClientId());
            json.put("psessionid", session.getSessionId());

            req.addPostValue("r", json.ToString());
            req.addPostValue("clientid", session.getClientId() + "");
            req.addPostValue("psessionid", session.getSessionId());
            req.addHeader("Referer", QQConstants.REFFER);

            return(req);
        }
Example #9
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            QQHttpRequest req = createHttpRequest("GET", QQConstants.URL_GET_GROUP_INFO_EXT);

            req.addGetValue("gcode", group.getCode() + "");
            req.addGetValue("cb", "undefined");
            req.addGetValue("vfwebqq", getContext().getSession().getVfwebqq());
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");

            req.addHeader("Referer", "http://s.web2.qq.com/proxy.html?v=20110412001&callback=1&id=3");
            return(req);
        }
Example #10
0
        public override QQHttpRequest onBuildRequest()
        {
            QQSession     session = getContext().getSession();
            QQHttpRequest req     = createHttpRequest("GET", QQConstants.URL_GET_STRANGER_INFO);

            req.addGetValue("tuin", user.getUin() + "");
            req.addGetValue("verifysession", "");       // ?
            req.addGetValue("gid", "0");
            req.addGetValue("code", "");
            req.addGetValue("vfwebqq", session.getVfwebqq());
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");
            return(req);
        }
Example #11
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            QQSession session = getContext().getSession();

            QQHttpRequest req = createHttpRequest("GET",
                                                  QQConstants.URL_GET_ONLINE_BUDDY_LIST);

            req.addGetValue("clientid", session.getClientId() + "");
            req.addGetValue("psessionid", session.getSessionId());
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");

            req.addHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Example #12
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            QQSession session = getContext().getSession();

            QQHttpRequest req = createHttpRequest("GET",
                                                  QQConstants.URL_GET_USER_SIGN);

            req.addGetValue("tuin", buddy.getUin() + "");
            req.addGetValue("vfwebqq", session.getVfwebqq());
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");

            req.addHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Example #13
0
        /** {@inheritDoc} */

        public override QQHttpRequest onBuildRequest()
        {
            QQSession session = getContext().getSession();

            QQHttpRequest req = createHttpRequest("GET", QQConstants.URL_LOGOUT);

            req.addGetValue("ids", "");     // 产生过会话才出现ID,如何获取??
            req.addGetValue("clientid", session.getClientId() + "");
            req.addGetValue("psessionid", session.getSessionId());
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");

            req.addHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Example #14
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            QQSession     session = getContext().getSession();
            QQHttpRequest req     = createHttpRequest("GET",
                                                      QQConstants.URL_GET_USER_FACE);

            req.addGetValue("uin", group.getCode() + "");
            req.addGetValue("vfwebqq", session.getVfwebqq());
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");
            req.addGetValue("cache", "0");
            req.addGetValue("type", "4");
            req.addGetValue("fid", "0");
            return(req);
        }
Example #15
0
        public override QQHttpRequest onBuildRequest()
        {
            QQSession     session = getContext().getSession();
            QQHttpRequest req     = createHttpRequest("GET", QQConstants.URL_GET_USER_FACE);

            req.addGetValue("uin", user.getUin() + "");
            req.addGetValue("vfwebqq", session.getVfwebqq());
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");
            req.addGetValue("cache", 0 + "");   // ??
            req.addGetValue("type", 1 + "");    // ??
            req.addGetValue("fid", 0 + "");     // ??

            req.addHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Example #16
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            QQSession session = getContext().getSession();

            QQHttpRequest req = createHttpRequest("GET",
                                                  QQConstants.URL_CHANGE_STATUS);

            //req.addGetValue("newstatus", status.getValue());
            req.addGetValue("clientid", session.getClientId() + "");
            req.addGetValue("psessionid", session.getSessionId());
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");

            req.addHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Example #17
0
        /** {@inheritDoc} */

        public override QQHttpRequest onBuildRequest()
        {
            //尝试登录,准备传递的参数值
            QQHttpRequest req = createHttpRequest("GET", QQConstants.URL_UI_LOGIN);

            req.addGetValue("u", username);
            req.addGetValue("p", QQEncryptor.encryptQm(uin, password, verifyCode));
            req.addGetValue("verifycode", verifyCode);
            req.addGetValue("webqq_type", "10");
            req.addGetValue("remember_uin", "1");
            req.addGetValue("login2qq", "1");
            req.addGetValue("aid", "1003903");
            req.addGetValue("u1", "http://web.qq.com/loginproxy.html?login2qq=1&webqq_type=10");
            req.addGetValue("h", "1");
            req.addGetValue("ptredirect", "0");
            req.addGetValue("ptlang", "2052");
            req.addGetValue("daid", "164");
            req.addGetValue("from_ui", "1");
            req.addGetValue("pttype", "1");
            req.addGetValue("dumy", "");
            req.addGetValue("fp", "loginerroralert");
            req.addGetValue("action", "2-12-26161");
            req.addGetValue("mibao_css", "m_webqq");
            req.addGetValue("t", "1");
            req.addGetValue("g", "1");
            req.addGetValue("js_type", "0");
            req.addGetValue("js_ver", QQConstants.JSVER);
            req.addGetValue("login_sig", getContext().getSession().getLoginSig());

            //2015-03-02 登录协议增加的参数
            req.addGetValue("pt_uistyle", "5");
            req.addGetValue("pt_randsalt", "0");
            req.addGetValue("pt_vcode_v1", "0");
            ApacheHttpService httpService = getContext().getSerivce();
            Cookie            ptvfsession = httpService.getCookie("ptvfsession", QQConstants.URL_UI_LOGIN);

            if (ptvfsession == null)//验证session在获取验证码阶段得到的。
            {
                ptvfsession = httpService.getCookie("verifysession", QQConstants.URL_UI_LOGIN);
            }
            if (ptvfsession != null)
            {
                req.addGetValue("pt_verifysession_v1", ptvfsession.Value);
            }

            req.addHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Example #18
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            QQSession session = getContext().getSession();
            // tuin=4245757755&verifysession=&type=1&code=&vfwebqq=**&t=1361631644492
            QQHttpRequest req = createHttpRequest("GET",
                                                  QQConstants.URL_GET_USER_ACCOUNT);

            req.addGetValue("tuin", buddy.getUin() + "");
            req.addGetValue("vfwebqq", session.getVfwebqq());
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");
            req.addGetValue("verifysession", "");     // 验证码??
            req.addGetValue("type", 1 + "");
            req.addGetValue("code", "");

            req.addHeader("Referer", QQConstants.REFFER);
            return(req);
        }
Example #19
0
        public override QQHttpRequest onBuildRequest()
        {
            QQSession session = getContext().getSession();

            JSONObject json = new JSONObject();

            json.put("vfwebqq", session.getVfwebqq());
            json.put("clientid", session.getClientId());
            json.put("psessionid", session.getSessionId());

            QQHttpRequest req = createHttpRequest("POST", QQConstants.URL_GET_RECENT_LIST);

            req.addPostValue("r", json.ToString());
            req.addPostValue("clientid", session.getClientId() + "");
            req.addPostValue("psessionid", session.getSessionId());

            return(req);
        }
Example #20
0
        /** {@inheritDoc} */


        /** {@inheritDoc} */

        public void executeHttpRequest(QQHttpRequest request, HttpActor.HttpAdaptor listener)
        {
            HttpMethod         method;
            HttpRequestMessage req = new HttpRequestMessage();

            if (request.getMethod().Equals("get", StringComparison.OrdinalIgnoreCase))
            {
                method = HttpMethod.Get;
            }
            else
            {
                method      = HttpMethod.Post;
                req.Content = new FormUrlEncodedContent(request.getPostDictionary());
            }
            req.Method     = method;
            req.RequestUri = new Uri(request.getUrl());

            httpClient.SendAsync(req).ContinueWith(
                (requestTask) =>
            {
                if (requestTask.IsFaulted)
                {//处理异常
                    Console.WriteLine(requestTask.Exception);
                }
                else
                {
                    HttpResponseMessage response = requestTask.Result;
                    HttpResponseHeaders headers  = response.Headers;
                    foreach (KeyValuePair <String, IEnumerable <String> > pair in headers)
                    {
                        Console.WriteLine(pair.Key + " :    " + pair.Value);
                    }
                    response.Content.ReadAsByteArrayAsync().ContinueWith(
                        (readTask) =>
                    {
                        QQHttpResponse resp = new QQHttpResponse(response);
                        resp.respData       = readTask.Result;
                        listener.onHttpFinish(resp);
                    });
                }
            });
        }
Example #21
0
	/** {@inheritDoc} */
    public override QQHttpRequest onBuildRequest()
    {
		QQSession session = getContext().getSession();
        QQAccount account = (QQAccount)getContext().getAccount();
		ApacheHttpService httpService = getContext().getSerivce();
		Cookie ptwebqq = httpService.getCookie("ptwebqq", QQConstants.URL_GET_USER_CATEGORIES);
		
		JSONObject json = new JSONObject();
		json.put("h", "hello");
		json.put("vfwebqq", session.getVfwebqq()); // 同上
		json.put("hash", QQEncryptor.getHash(account.getUin() + "", ptwebqq.Value));

		QQHttpRequest req = createHttpRequest("POST",
				QQConstants.URL_GET_USER_CATEGORIES);
		req.addPostValue("r", json.ToString());

		req.addHeader("Referer", QQConstants.REFFER);

		return req;
	}
Example #22
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            QQSession  session = getContext().getSession();
            JSONObject json    = new JSONObject();

            json.put("clientid", session.getClientId());
            json.put("psessionid", session.getSessionId());
            json.put("key", 0);               // 暂时不知道什么用的
            json.put("ids", new JSONArray()); // 同上

            QQHttpRequest req = createHttpRequest("POST", QQConstants.URL_POLL_MSG);

            req.addPostValue("r", json.ToString());
            req.addPostValue("clientid", session.getClientId() + "");
            req.addPostValue("psessionid", session.getSessionId());
            //req.setReadTimeout(70 * 1000);
            //req.setConnectTimeout(10 * 1000);
            req.addHeader("Referer", QQConstants.REFFER);

            return(req);
        }
Example #23
0
        /* (non-Javadoc)
         * @see iqq.im.action.AbstractHttpAction#onBuildRequest()
         */
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            QQHttpRequest req = createHttpRequest("GET", QQConstants.URL_GET_GROUP_PIC);

//		fid	3648788200
//		gid	2890126166
//		pic	{F2B04C26-9087-437D-4FD9-6A0ED84155FD}.jpg
//		rip	123.138.154.167
//		rport	8000
//		t	1365343106
//		type	0
//		uin	3559750777
//		vfwebqq	70b5f77bfb1db1367a2ec483ece317ea9ef119b9b59e542b2e8586f7ede6030ff56f7ba8798ba34b
//		"cface",
//        {
//            "name": "{F2B04C26-9087-437D-4FD9-6A0ED84155FD}.jpg",
//            "file_id": 3648788200,
//            "key": "pcm4N6IKmQ852Pus",
//            "server": "123.138.154.167:8000"
//        }

            QQSession session = getContext().getSession();

            req.addGetValue("fid", cface.getFileId() + "");
            req.addGetValue("gid", (msg.getGroup() != null ?
                                    msg.getGroup().getCode(): msg.getDiscuz().getDid()) + "");
            req.addGetValue("pic", cface.getFileName());
            String[] parts = cface.getServer().Split(':');
            req.addGetValue("rip", parts[0]);
            req.addGetValue("rport", parts[1]);
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");
            req.addGetValue("type", msg.getGroup() != null ? "0" : "1");
            req.addGetValue("uin", msg.getFrom().getUin() + "");
            req.addGetValue("vfwebqq", session.getVfwebqq());

            //req.setOutputStream(picOut);
            return(req);
        }
Example #24
0
        /** {@inheritDoc} */
        public override QQHttpRequest onBuildRequest()
        {
            QQSession session = getContext().getSession();

            /*
             * tuin	236557647
             * verifysession
             * code
             * vfwebqq	efa425e6afa21b3ca3ab8db97b65afa0535feb4af47a38cadcf1a4b1650169b4b4eee9955f843990
             * t	1346856270187*/



            QQHttpRequest req = createHttpRequest("GET", QQConstants.URL_GET_FRIEND_INFO);

            req.addGetValue("tuin", buddy.getUin() + "");
            req.addGetValue("verifysession", "");       //难道有验证码???
            req.addGetValue("code", "");
            req.addGetValue("vfwebqq", session.getVfwebqq());
            req.addGetValue("t", DateTime.Now.Ticks / 1000 + "");

            req.addHeader("Referer", QQConstants.REFFER);
            return(req);
        }