利用C#快速查出哪些QQ好友空间屏蔽了自己

作者:一只想飞的小蚂蚁 时间:2023-10-07 22:14:28 

大家好,我叫柠檬水,今天马上就要放假,突然想到自己以前的伙伴、同学,好像想到他们空间没怎么发过动态,难道是把我屏蔽了吗,好友又那么多,行吧,只能用c#写一个快速的知道哪些人屏蔽了自己。

首先我们整理逻辑,我们需要所有好友的QQ号,然后是一个通过qq号知道这个人是否空间屏蔽了自己的接口

qq号我倒是想到了腾讯官方提供的qq群里的某一个接口,后面的嘛,可以通过访问qq空间的那个接口嘛,嘿嘿,我真是太机智了 竟然我们逻辑都已经想好了,那么后面的事情就简单多了

利用C#快速查出哪些QQ好友空间屏蔽了自己

首先我们进入qq群

利用C#快速查出哪些QQ好友空间屏蔽了自己

进去后我们可以看到不仅是所有的QQ群有,连当前qq的所有好友也有 我们点击好友那个接口,打开所有的好友,直接复制就行了,其它的交给正则表达式吧!

然后我们登录QQ号,打开这个链接 http://user.qzone.qq.com/自己QQ号/infocenter 打开f12,刷新找到第一个接口,找到发送请求的cookie,现在c#获取cookie我还不会哦,写爬虫还是python好呢

现在我们有三个准备了,登录状态下的QQ号,cookie已经所以的qq好友 接下来看我的完整代码

using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApp6
{
   class Program
   {
       static void Main(string[] args)
       {

string url = "http://user.qzone.qq.com/<<QQ>>/infocenter";

string txt = "";
           StreamReader sr = new StreamReader(@"qq.txt");//里面装的是所以qq好友,直接将复制的写进去
           while (!sr.EndOfStream)
           {
               string str = sr.ReadLine();
               txt += str + "\n";
           }
           sr.Close();
           string regex1 = "name: \"(?<name>.*?)\",";//获取QQ昵称
           string regex2 = "uin: (?<qq>.*?)}";//获取QQ昵称

MatchCollection namelist = Regex.Matches(txt, regex1);
           MatchCollection qqlist = Regex.Matches(txt, regex2);
           if (namelist.Count != qqlist.Count)
           {
               Console.WriteLine("qq昵称与QQ号数目不匹配!");
               return;
           }

Dictionary<string, string> dic = new Dictionary<string, string>();

for (int i = 0; i < namelist.Count; i++)
           {
               string qqname = Regex.Match(namelist[i].Value, regex1).Groups["name"].ToString().Trim();
               string qqnumber = Regex.Match(qqlist[i].Value, regex2).Groups["qq"].ToString().Trim();
               dic.Add(qqname, qqnumber);
           }

string cookie = "#";//将复制的cookie放在里面哦

foreach (var item in dic)
           {
               url = url.Replace("<<QQ>>", item.Value);
               HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
               req.Method = "GET";
               req.Accept = "text/html";
               req.AllowAutoRedirect = true;
               req.Headers.Add("Encoding", Encoding.UTF8.ToString());
               req.Headers.Add("cookie", cookie);
               req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36";
               HttpWebResponse res = (HttpWebResponse)req.GetResponse();
               using (StreamReader reader = new StreamReader(res.GetResponseStream()))
               {
                   string html = reader.ReadToEnd();
                   if (!string.IsNullOrEmpty(html))
                   {
                       string filePath = System.IO.Directory.GetCurrentDirectory() + "\\" + item.Key + item.Value + ".txt";
                       using (StreamWriter sw = new StreamWriter(filePath))
                       {
                           sw.Write(html);
                       }
                       Console.WriteLine(item.Key + item.Value +"Download OK!\n");
                   }

}
               url = url.Replace(item.Value,"<<QQ>>");
           }
           Console.WriteLine("成功啦,去程序目录一个个看吧!");
       }
   }
}

里面有说放qq号和cookie的注释,然后运行

利用C#快速查出哪些QQ好友空间屏蔽了自己

利用C#快速查出哪些QQ好友空间屏蔽了自己

如果里面有这句话的,唉

利用C#快速查出哪些QQ好友空间屏蔽了自己

总体来说,其实可以直接得出结果的,但是,每一个好友难道不值得你一个一个看嘛,如果想用直接得出结果,可以联系我哦,其实后面加个判断就行了!

人生若只如初见,何事秋风悲画扇!

来源:https://blog.csdn.net/qq_44838095/article/details/122807945

标签:C#,QQ,屏蔽
0
投稿

猜你喜欢

  • 分析Android 11.0Settings源码之主界面加载

    2021-05-25 23:15:02
  • Java线程池并发执行多个任务方式

    2023-08-14 16:26:03
  • C#在RichTextBox中显示不同颜色文字的方法

    2023-01-03 17:36:06
  • Winform窗体圆角设计代码

    2022-04-22 18:15:30
  • c# Selenium爬取数据时防止webdriver封爬虫的方法

    2023-06-24 07:50:51
  • Intellij idea热部署插件JRebel的使用

    2022-12-02 14:13:27
  • C#使用Lambda表达式简化代码的示例详解

    2022-09-16 03:03:36
  • C#修改MAC地址类的实例

    2023-09-11 06:51:14
  • Spring Boot 应用的热部署配置方法

    2022-03-26 23:36:56
  • 关于MyBatis结果映射的实例总结

    2022-02-21 02:31:31
  • Intellij IDEA中启动多个微服务(开启Run Dashboard管理)

    2022-01-11 02:25:00
  • Flutter Dio二次封装的实现

    2022-08-27 08:56:05
  • 在 Ubuntu Linux 上安装 Oracle Java 14的方法

    2022-01-01 15:13:52
  • 快速排序算法在Java中的实现

    2022-05-25 01:06:15
  • Android SimpleAdapter适配器使用详解

    2023-10-07 07:04:26
  • 浅谈Java工程读取resources中资源文件路径的问题

    2021-07-20 19:13:45
  • Java 17 更快的 LTS 节奏

    2023-07-08 11:36:19
  • C#正则实现Ubb解析类的代码

    2021-10-23 22:19:38
  • Java接入支付宝授权第三方登录的完整步骤

    2023-01-05 01:13:54
  • 安卓(Android)ListView 显示图片文字

    2023-12-26 12:44:43
  • asp之家 软件编程 m.aspxhome.com