首页 > 其他 > 详细

读取页面返回字典值提示错误:TypeError: string indices must be integers, not str

时间:2014-12-04 13:49:27      阅读:1330      评论:0      收藏:0      [点我收藏+]

路由器get_rand_key.cgi返回用于后续AES加密的随机数,该返回值是字典。

如下代码,

print pagetext返回字典{"rand_key":"c9d8b128f26058c5a684a212100bba0204beaf1795d227da4601869dd83045cd"}

print pagetext[rand_key]提示错误TypeError: string indices must be integers, not str

import urlparse  
import urllib  
import urllib2   
import string  
import json

randomkey_url = http://192.168.0.1/router/get_rand_key.cgi
request = urllib2.Request(randomkey_url)
response = urllib2.urlopen(request)
pagetext = response1.read()
print pagetext
print pagetext[rand_key]

 

解决方法:

在浏览器调试中看到返回的json,修改代码如下

import urlparse  
import urllib  
import urllib2   
import string  
import json

randomkey_url = http://192.168.0.1/router/get_rand_key.cgi
request = urllib2.Request(randomkey_url)
response = urllib2.urlopen(request)
pagetext = json.load(response)
print pagetext
print pagetext[rand_key]

执行结果

{u‘rand_key‘: u‘260efad1f2c85451a60c09ee96e11f6c754dade635a10b43c681df39fddca5e0‘}
260efad1f2c85451a60c09ee96e11f6c754dade635a10b43c681df39fddca5e0

 

读取页面返回字典值提示错误:TypeError: string indices must be integers, not str

原文:http://www.cnblogs.com/wangjibo/p/4142559.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!