获取当前登录的QQ号码
生活随笔
收集整理的這篇文章主要介紹了
获取当前登录的QQ号码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
獲取當前登錄的QQ號碼
原理很簡單:
利用QQ空間的快速登錄方式可以檢測到在本機登錄的QQ號碼,通過分析這個快速登錄頁面可以獲取到一個地址
http://xui.ptlogin2.qq.com/cgi-bin/qlogin?domain=qq.com&lang=2052&qtarget=1&jumpname=&appid=549000912&ptcss=undefined¶m=u1%253Dhttp%25253A%25252F%25252Fqun.qzone.qq.com%25252Fgroup&css=&mibao_css=&s_url=http%253A%252F%252Fqun.qzone.qq.com%252Fgroup&low_login=0&style=12&authParamUrl=&needVip=1&ptui_version=10028
再通過WebBrowser控件加載這個頁面,等待網頁加載完畢,分析html就可以提取出當前在本登錄的所有QQ號碼。
代碼:
using System;
using System.Windows.Forms;
namespace GetLoginQQDemo
{
public partial class Form1 : Form
{
private string url = "http://xui.ptlogin2.qq.com/cgi-bin/qlogin?domain=qq.com&lang=2052&qtarget=1&jumpname=&appid=549000912&ptcss=undefined¶m=u1%253Dhttp%25253A%25252F%25252Fqun.qzone.qq.com%25252Fgroup&css=&mibao_css=&s_url=http%253A%252F%252Fqun.qzone.qq.com%252Fgroup&low_login=0&style=12&authParamUrl=&needVip=1&ptui_version=10028";
private WebBrowser web = new WebBrowser();
public Form1()
{
InitializeComponent();
lvwUins.Columns.Add("昵稱", 100);
lvwUins.Columns.Add("QQ號碼", 100);
web.Url = new Uri(url);
}
private void button1_Click(object sender, EventArgs e)
{
if(web.ReadyState != WebBrowserReadyState.Complete){
MessageBox.Show("網頁尚未加載完畢,請稍等.");
return;
}
lvwUins.Items.Clear();
HtmlDocument doc = web.Document;
HtmlElement uinList = doc.GetElementById("list_uin");
if(uinList != null){
for (int i = 0; i < uinList.Children.Count; i++) {
string str = uinList.Children[i].InnerText.Trim();
//分割昵稱和QQ號碼
string[] temp = str.Split(' ');
string nick = temp[0];
string uin = temp[1];
//去除括號
uin = uin.Replace("(", "").Replace(")", "");
ListViewItem item = new ListViewItem();
item.Text = nick;
item.SubItems.Add(uin);
lvwUins.Items.Add(item);
}
}
}
}
}
運行截圖:
源碼:http://pan.baidu.com/share/link?shareid=474605&uk=1678089569
總結
以上是生活随笔為你收集整理的获取当前登录的QQ号码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NV股价大跌:显卡不好卖了 Q2游戏收入
- 下一篇: 小米MIX Fold屏幕参数抢先看!标准