热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

读取页面返回字典值提示错误:TypeError:stringindicesmustbeintegers,notstr

路由器get_rand_key.cgi返回用于后续AES加密的随机数,该返回值是字典。如下代码,printpagetext返回字典{rand_key:c9d8b128f26058c5a68

路由器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

 


推荐阅读
author-avatar
改改我的坏_155
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有