【www.guakaob.com--信息系统管理】
问题
请问为什么我登QQ时 ,会出现这个。为什么呢
但是我用”以管理员身份运行,“又可以登上。这是为什么呢
?
一、 能上QQ但不能上网,一般是IP地址冲突造成的,刷新ip地址就可以了:
Windows XP 和2000 中,点击“开始”“运行”,输入“cmd”后回车。输入“ipconfig/release”后回车,然后输入“ipconfig/renew”后回车。
二、 导致能上QQ但是不能上网,有时也有其他原因:
1、系统WINSOCK通讯组件故障
出现能上QQ不能打开网页有大约80%的情况都是由于WINSOCK组件被破坏,组件被破坏的原因有几种:病毒原因。不完善的杀毒软件清除病毒的后遗症。盗版WINDOWS XP,安装操作系统补丁故障及非正常的系统还原等,如果是WINDOWS 2000 /XP,直接点击“开始”菜单,选择“运行”,输入“SFC/SCANNOW”并确定,系统会自动检查被替换过系统组件并予以恢复,其间需要用户插入操作系统的安装光盘。
三、 域名解析错误
域名解析错误也是无法打开网页的常见原因之一。计算机域名解析时先要访问本机的HOSTS文件,然后再登录到DNS(域名解析服务器)上进行查询,特别是反病毒网站的访问,HOSTS文件在用户系统目录中,默认为”C:\WINDOWS\SYSTEM32\DRIVERS\ETC"目录下,我们可以用"记事本"将其打开,一般情况下,"127.0.0.1 localhost"以下的内容都可以删除。
3、IE浏览器被破坏
如果用QQ能上网,用其他浏览器比如Firefox,Opera也能打开网页,只有IE 不能浏览,则多半是浏览器本身被损坏了,需要重新安装IE。
4、不正确的代理设置
有时设置错代理服务器也可能导致网页无法打开,我们可以在IE中“internet选项“下的”连接“设置中查看和修改代理服务器的设置。
四、
解决办法: 办法一.修复:
1.用命令修复:在Windows XP Service Pack 2中如果发现你得IE出现故障不妨试着“运行”一下这个命令:"%progrramFiles%\InternetExplorer\iexplore.exe"/rereg"(双引号不可少),它可以帮你重新注册IE的所有组件,帮你彻底修复瘫痪的IE,不过不适应于Windows 其他版本。
2.下载安装360安全卫士--高级--修复IE--勾选要修复的选项或全选--立即修复。修复后,重新设置IE主页。
3.启动IE浏览器--工具--Internet选项--高级--HTTP1.1--在“使用HTTP1.1”前面加上对勾,并去掉“通过代理连接使用HTTP1.1”的对勾--确定。
4.在360安全卫士的常用选项下,分别点击“查杀流行木马”和“清理恶评插件”--开始扫描--分别勾选扫描出的流行木马和恶评插件--分别点击“立即查杀”和“立即清除”。特别注意象3721、雅虎助手、中文上网、百度搜霸等之类的恶意流氓插件,应该坚决清除。 上述办法不行,就就干脆下载安装微软最新发布的IE8。
(IE8)Internet Explorer 8.0 For WinXP 简体中文正式版
下载网址:
方法二:上述办法仍不行,就重新建立连接。
重新建立连接方法:
一.将原来的宽带连接删除,重新建立连接:
方法:双击打开网上邻居--在左侧栏点查看网络连接--右键删除原来的宽带连接--创建一个新的连接:
1.新建连接向导 ,打开“欢迎使用新建连接向导”界面--“下一步” ;
2.选择“连接到Internet”--“下一步”;
3.选择“手动设置我的连接”--“下一步”;
4.选择“用要求用户名和密码的宽带连接来连接”--“下一步”;
5.在“ISP名称文本框中输入名称“**(《宽带连接》或《网络连接》)”--“下一步”;
6.)在“用户名”文本框中输入所使用的用名称(ADSL账号),在“密码”文本框中输入密码,在“确认密码”文本框中重复输入密码确认,勾选“任何用户从这台计算机连接到Internet使用此帐户名和密码”和“把它做为默认Internet连接”—下一步;
7.勾选“在我的桌面上添加一个到此连接的快捷方式”—单击“完成”后,你会看到桌面上多了个名为“**(《宽带连接》或《网络连接》”的连接图标。
二.设置连接属性
(1)本地连接:开始—连接到—显示所有连接—右击本地连接—属性—常规—点选Internet协议(TCP/IP)--属性—点选使用下面的IP地址(设置固定IP,可以加快网络连接速度,供参考):
IP地址:192.168.0.2
子网掩码:255.255.255.0
默认网关:192.168.0.1。
使用下面的DNS服务器地址(供参考):
首选:1.1.1.1
备用:24.24.24.24
最后点击确定。
或者不设置固定IP,勾选自动获得IP地址(网络连接速度相对设置固定IP会慢一些)--确定。
(2)宽带连接:右击宽带连接—属性—网络—选自动获得IP地址—确定
五、 一、感染了病毒所致
这种情况往往表现在打开IE时,在IE界面的左下框里提示:正在打开网页,但老半天没响应。在任务管理器里查看进程,(进入方法,把鼠标放在任务栏上,按右键—任务管理器—进程)看看CPU的占用率如何,如果是100%,可以肯定,是感染了病毒,这时你想运行其他程序简直就是受罪。这就要查查是哪个进程贪婪地占用了CPU资源。
找到后,最好把名称记录下来,然后点击结束,如果不能结束,则要启动到安全模式下把该东东删除,还要进入注册表里,(方法:开始—运行,输入regedit)在注册表对话框里,点编辑—查找,输入那个程序名,找到后,点鼠标右键删除,然后再进行几次的搜索,往往能彻底删除干净。
有很多的病毒,杀毒软件无能为力时,唯一的方法就是手动删除。
二、与设置代理服务器有关
有些朋友,出于某些方面考虑,在浏览器里设置了代理服务器(控制面板--Internet选项—连接—局域网设置—为LAN使用代理服务器),设置代理服务器
是不影响QQ联网的,因为QQ用的是4000端口,而访问互联网使用的是80或8080端口。
这就是很多的人不明白为什么QQ能上,而网页不能打开的原因。而代理服务器一般不是很稳定,有时侯能上,有时候不能上。如果有这样设置的,请把代理取消就可以了。
多时候我们都会遇到这样的问题,明明已经连网,但似乎只能能上QQ,而不能上网,现在我们将相关的解决方法汇总起来以飨读者。
[原创]李昱:腾讯产品登录协议详解
发表时间:2010-9-21 0:16:03
写下这个标题的时候,您可能要问腾讯产品登录协议有什么用?很简单,qq所有产品都是采用统一的登录协议加密登录的。也就是说,当您能够通过使用它的协议来登录并获取到令牌后,那么就可以任意的使用qq的各项产品了,如webqq,空间,微博,校友。。等等的。而本文主要就是讲述下如何通过技术手段来使用腾讯产品登录协议,从而获取到登录令牌。所有完整的源代码,可以从我的开源项目 CDM SYSTEM中的pushblog插件获取并且试用。地址是:
一、腾讯产品的登录与验证过程
腾讯产品的登录一共需要经过三次验证,分别是在登录页面1、验证帐号状态,并通过帐号获取令牌的原始密钥;2、对原始密钥进行运算生成令牌密钥并提交服务器,服务器进行一次验证;3、经过第二次验证通过,服务器自动跳转,进行第三此验证,最后返回登录令牌……终成功后才能获取到加密过后的登录令牌,而利用此令牌就可以顺利的操作任何腾讯的产品与服务了。
接下来我们以腾讯微博为例来进行一些在合法的限度内的讲解,旨在开拓各位读者的思维与分享技术思路,因为这东西其实我用了很久很久了,相信很多技术大牛们也都自己偷偷在应用着,只是懒得拿出来分享,或者用来赚钱而已。但是很不爽的就是腾讯最近宣布推出了开放平台,可实际上是换汤不换药的东西,所以才想要跟大家分享分享。因此如果您抱着想要通过本文的讲解来进行获利的目的,那我建议您可以就此打住了。因为,接下来的内容中我并不会去讲解或者说分享那些您会感兴趣的东西。
二、协议详解【为什么我用QQ登录应】
1、言归正传,首先第一次的登录是发生在我们打开登录页面的时候。 还是以腾讯微博为例,当我们打开微博的登录页面时,页面上的js会触发一个地址:
这个地址是用来判断您的用户名是否是正常状态,以及是否有效用户名,并返回一个状态值以及一个验证码。其中uin就是你的用户名,appid指的是腾讯产品的编码。r是一个随机生成的数字,用来避免浏览器缓存。
1
正常时,请求这个地址,会获得类似ptui_checkVC('0','!AFO');这样的返回值,这其中0是代表正常状态,不采用图片验证。但是如果短时间内这个帐号多次在不同的ip登录,那么返回值就是另外的一种返回值了,那表明需要进行图片验证码验证。
此外,0还有可能变为其他的数值,用来标明诸如帐号不存在,帐号状态不正确,帐号已锁定等等的。。。。。而后面的!AFO是四位则是我们需要获得的原始令牌值,它是由腾讯服务器随机生成的一个令牌的原始密钥。当然也许您在获取的时候会发现这个值并不是4位,而是很多位。那么就要恭喜您了,您获得也是令牌的原始密钥,只不过不同的是,您获得是图片验证码的原始密钥而已。
当然其实图形验证码的自动识别也很简单,只是这已经超出本文的范围了,以后有机会可以与大家再次分享下。此时,当我们正确的获得!AFO时就已经完成了第一次的验证!但是有一点需要注意的是:腾讯的令牌是存储在cookies中的,
所以请注意每次操作都必须要保存好服务器返回来的cookies。以下为python语言写的的示例代码,此代码可以从中的
pushmodel.py文件中获取。
01
def Get_qq_msg_val(self,username,password):
02
verifyURL =
'(username,random.random())
03
loginURL = '
04
redirectURL = ''
05
cookie = ''
06
qqn = username
07
md5Pass = ''
08
verifyCode = ''【为什么我用QQ登录应】
result = urlfetch.fetch(url=verifyURL,method=urlfetch.GET,
10
follow_redirects = False,headers={
11【为什么我用QQ登录应】
'Content-Type': 'application/x-
12
'user-agent':'Mozilla/5.0 (Linux; U; Linux i686; en-US) AppleWebKit/525.13 (KHTML, like Gecko)_chrome/0.4.2.80 Safari/525.13',
13
},)
14
cookie1 = Cookie.SimpleCookie(result.headers.get('set-cookie', '')) 15
verifyCode=result.content[18:-3]
16
if len(verifyCode)>4:
17
return False,None
18
loginURL += "u=%s&p="% username
19
loginURL+=self.EncodePasswordWithVerifyCode(password,verifyCode) 20
loginURL +=
"&verifycode="+verifyCode+"&aid=46000101&u1=http%3A%2F%2Ft.qq.com&ptredirect=1&h=1&from_ui=1&fp=loginerroralert"
21
result=urlfetch.fetch(url=loginURL,
22
headers={'Referer':'
23
'Cookie' : self.make_cookie_header(cookie1),
24
'Content-Type': 'application/x-
25
'user-agent':'Mozilla/5.0 (Linux; U; Linux i686; en-US) AppleWebKit/525.13 (KHTML, like Gecko)_chrome/0.4.2.80 Safari/525.13',
26
27
method=urlfetch.GET,
28
follow_redirects = False,
29
)
30
setCookies = result.headers.get('set-cookie', '').split(';')
31
cookie2 = ''
32
cookie2+=setCookies[29]
33
cookie2+=setCookies[7]
34
cookie2+=setCookies[4]
35
cookie2+=';'+setCookies[0]
36
cookie2 = cookie2.replace(',', ';')
37
cookie2 = cookie2[1:]
38
callback_url = result.headers.get('location','
39
result,cookies = self.do_redirect(callback_url, cookie2)
40
41
return result,cookies
2、此时我们需要对获取到的原始密钥进行一系列的运算,从而得到令牌密钥。这个算法其实也很简单,就是先把用户密码连续进行两次md5加密,每次md5加密输出二进制
的结果,然后在对经过两次md5加密后的结果在进行一次md5加密,最后输出16进制大写的结果。在把我们第一步获取到的原始密钥合并在此结果之后,形成一个新的字符串。并且再次对此字符串进行md5加密,并输出16进制大写的字符串。此时,此字符串就为令牌密钥了。示例代码如下
1
def md5hash(self,str):
2
return hashlib.md5(str).digest()
3
def hex_md5hash(self,str):
4
return hashlib.md5(str).hexdigest().upper()
5
def md5hash_3(self,str):
6
return self.hex_md5hash(self.md5hash(self.md5hash(str)))
7
def EncodePasswordWithVerifyCode(self,pwd, verifyCode):
8
return self.hex_md5hash(self.md5hash_3(pwd) + verifyCode.upper()) 1
EncodePasswordWithVerifyCode()即为此加密算法,pwd是密码,verifyCode为我们第一步获取到的4位的原始密钥。
3、接下来,我们需要把这个原始密钥送到腾讯的服务器进行验证,并返回令牌结果。服务器的地址为:
这其中,u代表是用户帐号,p就是我们第二步所生成的令牌密钥,verifycode为我们第一步获取的原始密钥,u1为我们登录的产品地址,至于后面的那些参数不用管它,写什么都无所谓的。我们只要生成此链接并请求后,服务器通过验证就会返回给我们最终的令牌。只是此令牌并不是返回一组数据,而是全部以cookies的形式返回。这是我们需要注意的第一点,其次是当我们请求此地址时,此地址会返回如下的cookies