这是在开发QQ访客加速软件写的核心操作功能类,现在贡献出来,并且也为以后的开发提供示例!以下是核心协议及功能代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.IO;
using System.Collections.Specialized;
using System.Text.RegularExpressions;
namespace QzoneSpeed
{
class Qzone
{
private string uin;
private string skey;
private string pskey;
private string cookie;
public Qzone() {
}
public Qzone(string uin, string skey, string pskey)
{
this.uin = uin;
this.skey = skey;
this.pskey = pskey;
this.cookie = this.cookies();
}
//获取cookie
private string cookies()
{
string res;
if (this.pskey == "")
{
res = "pt2gguin=o" + this.uin + "; uin=o0" + this.uin + "; skey=" + this.skey + ";";
}
else
{
res = "pt2gguin=o" + this.uin + "; uin=o" + this.uin + "; skey=" + this.skey + ";p_skey=" + this.pskey + "; p_uin=o" + this.uin + ";";
}
return res.Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", "");
}
//获取gtk
public string GetGTK(string sKey)
{
if (skey=="")
{
return "";
}
var hash = 5381;
for (int i = 0, len = sKey.Length; i < len; ++i)
{
hash += (hash << 5) + sKey[i];
}
return (hash & 0x7fffffff).ToString();
}
//设置header
public static void SetHeaderValue(WebHeaderCollection header, string name, string value)
{
var property = typeof(WebHeaderCollection).GetProperty("InnerCollection",
System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
if (property != null)
{
var collection = property.GetValue(header, null) as NameValueCollection;
collection[name] = value;
}
}
//发送HTTP请求
public string http(string url, string post = "", string referer = "1", string cookie = "0", string header = "0", string ua = "0", string nobaody = "0")
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
if (!header.Equals("0"))
{
string[] headers = header.Split('|');
for (int i = 0; i < headers.Length; i++)
{
SetHeaderValue(request.Headers, headers[i].Split(':')[0], headers[i].Split(':')[1]);
}
}
if (!post.Equals(""))
{
request.Method = "POST";
}
else
{
request.Method = "GET";
request.Proxy = null;
request.KeepAlive = false;
request.AutomaticDecompression = DecompressionMethods.GZip;
}
if (!referer.Equals("1"))
{
request.Referer = referer;
}
else
{
request.Referer = "http://h5.qzone.qq.com/mqzone/index";
}
if (ua.Equals("0"))
{
request.UserAgent = "Mozilla/5.0 (Linux; U; Android 4.4.1; zh-cn) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.5 Mobile Safari/533.1";
}
else
{
request.UserAgent = ua;
}
if (!cookie.Equals("0"))
{
request.Headers.Add("Cookie", cookie);
}
if (!post.Equals(""))
{
byte[] data = Encoding.UTF8.GetBytes(post);
request.ContentLength = data.Length;
Stream newStream = request.GetRequestStream();
newStream.Write(data, 0, data.Length);
newStream.Close();
}
request.Accept = "application/json";
SetHeaderValue(request.Headers, "Accept-Encoding", "gzip,deflate,sdch");
SetHeaderValue(request.Headers, "Accept-Language", "zh-CN,zh;q=0.8");
SetHeaderValue(request.Headers, "Connection", "close");
HttpWebResponse myResponse = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
string content = reader.ReadToEnd();
return content;
}
catch (Exception ex)
{
return ex.Message;
}
}
//获取字符串间内容
public string GetText(string t, string k, string j)
{
try //异常捕捉
{
var kn = t.IndexOf(k, StringComparison.Ordinal) + k.Length;
var jn = t.IndexOf(j, kn, StringComparison.Ordinal);
return t.Substring(kn, jn - kn);
}
catch
{
return "fail"; //返回错误
}
}
//访客加速操作(mobile)
public bool Visitor(string qq)
{
string url = "https://h5.qzone.qq.com/webapp/json/friendSetting/reportSpaceVisitor?qzonetoken=qzonetoken&g_tk=" + this.GetGTK(this.pskey) + "&uin=" + qq + "&visitUin=" + this.uin;
string post = "g_tk=" + this.GetGTK(this.pskey) + "&uin=" + qq + "&visitUin=" + this.uin;
string res = this.http(url, post, "1", this.cookie);
return res == "{\"ret\":0,\"msg\":\"\",\"data\":{\"retCode\":0}}";
}
//获取今日访客数
public string TodayVisitorCount(string qq)
{
string url = "https://mobile.qzone.qq.com/mqz_get_visitor?g_tk=" + this.GetGTK(this.skey) + "&res_mode=0&res_uin=" + qq + "&offset=0&count=1&page=1&format=json&t=1562141624588";
string res = this.http(url, "", "1", this.cookie);
res = GetText(res, ",\"todaycount\":", ",\"totalcount\"");
string nums = res == "fail" ? "0" : res;
return nums;
}
//获取qzonetoken
public string GetQzoneToken()
{
string url = "https://h5.qzone.qq.com/mqzone/index";
string ua = "Mozilla/5.0 (Linux; U; Android 4.4.1; zh-cn) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.5 Mobile Safari/533.1";
string res = this.http(url, "", "1", this.cookie, "0", ua);
res = GetText(res, "(function(){ try{return \"", "\";}");
return res;
}
}
}
Скачать песню Nesamovyta – Не Забереш бесплатно в mp3
Скачать песню Nesamovyta – Не Забереш бесплатно в mp3
Korn – Prey For Me скачать бесплатно песню и слушать онлайн в mp3
Korn – Prey For Me скачать бесплатно песню и слушать онлайн в mp3
Margo – Июльское Платье скачать песню в mp3 и слушать онлайн
Margo – Июльское Платье скачать песню в mp3 и слушать онлайн
M1Shka – Відчуваю скачать в mp3 и слушать онлайн бесплатно
M1Shka – Відчуваю скачать в mp3 и слушать онлайн бесплатно
Скачать песню Юкки – Я Улечу бесплатно в mp3
Скачать песню Юкки – Я Улечу бесплатно в mp3
Mega Дискотека 80-90-Х В Современной Обработке (2017) – London Boys – Chapel Of Love (Radio Mix) скачать песню в mp3 и слушать онлайн бесплатно
Mega Дискотека 80-90-Х В Современной Обработке (2017) – London Boys – Chapel Of Love (Radio Mix) скачать песню в mp3 и слушать онлайн бесплатно
Mega Дискотека 80-90-Х В Современной Обработке 2 (2017) – Franck Choppin Feat. Jovana – Stop For A Minute (Cover Sandra) скачать песню бесплатно в mp3 и слушать онлайн
Mega Дискотека 80-90-Х В Современной Обработке 2 (2017) – Franck Choppin Feat. Jovana – Stop For A Minute (Cover Sandra) скачать песню бесплатно в mp3 и слушать онлайн
Ірина Білик І Кузьма Скрябін – Мовчати скачать бесплатно песню и слушать онлайн в mp3
Ірина Білик І Кузьма Скрябін – Мовчати скачать бесплатно песню и слушать онлайн в mp3
Группа Весна – Рогалики скачать песню в mp3 и слушать онлайн бесплатно
Группа Весна – Рогалики скачать песню в mp3 и слушать онлайн бесплатно
Oxana Trach – Уві Сні скачать песню в mp3 и слушать онлайн
Oxana Trach – Уві Сні скачать песню в mp3 и слушать онлайн
Скачать песню Наталя Могилевська – Відправила Меседж бесплатно в mp3
Скачать песню Наталя Могилевська – Відправила Меседж бесплатно в mp3
Алсу – I Want Tonight скачать бесплатно песню в mp3
Алсу – I Want Tonight скачать бесплатно песню в mp3
T1One & Зомб – Я Люблю Тебя Пиздец Как скачать бесплатно песню и слушать онлайн в mp3
T1One & Зомб – Я Люблю Тебя Пиздец Как скачать бесплатно песню и слушать онлайн в mp3
Алсу – Там, Где Нет Тебя скачать бесплатно песню в mp3
Алсу – Там, Где Нет Тебя скачать бесплатно песню в mp3
Владимир Высоцкий Соглашайся На Рай В Шалаше – Соглашайся На Рай В Шалаше скачать в mp3 и слушать онлайн бесплатно
Владимир Высоцкий Соглашайся На Рай В Шалаше – Соглашайся На Рай В Шалаше скачать в mp3 и слушать онлайн бесплатно
Shaboozey – A Bar Song (Tipsy) скачать песню в mp3 и слушать онлайн
Shaboozey – A Bar Song (Tipsy) скачать песню в mp3 и слушать онлайн
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.
Lone – Я В Огне скачать песню бесплатно в mp3 и слушать онлайн
Lone – Я В Огне скачать песню бесплатно в mp3 и слушать онлайн
Andrei Popov Feat. Аслан Улпанов – Мам Еду Я Домой скачать в mp3 и слушать онлайн бесплатно
Andrei Popov Feat. Аслан Улпанов – Мам Еду Я Домой скачать в mp3 и слушать онлайн бесплатно
Отпетые Мошенниики – Люби Меня, Люби (Rule3 Ai Version) скачать бесплатно песню в mp3
Отпетые Мошенниики – Люби Меня, Люби (Rule3 Ai Version) скачать бесплатно песню в mp3
Iron Maiden – Best Of The Beast (1996) – Iron Maiden – Wasted Years скачать песню в mp3 и слушать онлайн бесплатно
Iron Maiden – Best Of The Beast (1996) – Iron Maiden – Wasted Years скачать песню в mp3 и слушать онлайн бесплатно
Ella Henderson, Rudimental – Alibi (Feat. Rudimental) скачать бесплатно песню и слушать онлайн в mp3
Ella Henderson, Rudimental – Alibi (Feat. Rudimental) скачать бесплатно песню и слушать онлайн в mp3
Jason Derulo – Slow Low скачать песню в mp3 и слушать онлайн
Jason Derulo – Slow Low скачать песню в mp3 и слушать онлайн
Bad Boys Blue – You’re A Woman (Dj Rude Monochronic Remix 2 (C) 2020 скачать бесплатно песню в mp3
Bad Boys Blue – You’re A Woman (Dj Rude Monochronic Remix 2 (C) 2020 скачать бесплатно песню в mp3
Leonid Rudenko – Destination (Braggin Remix) скачать бесплатно песню и слушать онлайн в mp3
Leonid Rudenko – Destination (Braggin Remix) скачать бесплатно песню и слушать онлайн в mp3
Radio Tapok – Radio Tapok – Ночные Ведьмы скачать песню в mp3 и слушать онлайн
Radio Tapok – Radio Tapok – Ночные Ведьмы скачать песню в mp3 и слушать онлайн
Reflex – Я Любила Тебя скачать бесплатно песню в mp3
Reflex – Я Любила Тебя скачать бесплатно песню в mp3
Тото – Что С Собой Заберём Саншайн (Tiktok Remix) скачать в mp3 и слушать онлайн бесплатно
Тото – Что С Собой Заберём Саншайн (Tiktok Remix) скачать в mp3 и слушать онлайн бесплатно
Алсу – Странница Душа скачать бесплатно песню и слушать онлайн в mp3
Алсу – Странница Душа скачать бесплатно песню и слушать онлайн в mp3
Right Person – Лишь Во Сне Я С Ней Танцую Вальс Под Звездным Небом скачать песню бесплатно в mp3 и слушать онлайн
Right Person – Лишь Во Сне Я С Ней Танцую Вальс Под Звездным Небом скачать песню бесплатно в mp3 и слушать онлайн