post时处理中文字符

做个一个网页信息的查询,很无奈的发现POST信息中的中文部分错误。试了很多方法后发现,把信息转换成uft8格式问题解决

name = name.decode('cp936').encode('utf8')

完整代码:

# -*- coding: cp936 -*-


import re
import urllib
import urllib2

url = r'http://xxx.xxx.xxx'

def getMsg(respose):
    pat = r'{"result":(\d+),"resultstr":"(\w+)","Ans":{"m_NickName":"(.*)","m_Uid":"(\d+)","m_Level":(\d+),"m_Exp":(\d+),"m_VIPLevel":(\d+),"m_Gold":(\d+),"m_SuperGold":(\d+),"m_HonourCount":(\d+),"m_Salary":(\d+),"m_Energy":(\d+),"m_ReputationCount":(\d+),"m_point":(\d+),"m_TacticsExp":(\d+)}}'
    m = re.match(pat,respose)
    return m

def showMsg(m):
    print '='*20
    print '角色名称  :',m.group(3)
    print '角色uid   :',m.group(4)
    print '角色等级  :',m.group(5)
    print '角色超级币:',m.group(9)
    print '角色资金  :',m.group(8)
    print '角色VIP   :',m.group(7)
    print '角色荣誉  :',m.group(10)
    print '角色经验  :',m.group(6)
    print '角色体力  :',m.group(12)
    print '角色声望  :',m.group(13)
    
def main():
    name = raw_input('输入角色名称:')
    <span style="color:#ff0000;">name = name.decode('cp936').encode('utf8')</span>
    value ={
    'AreaID':'1',
    'Name':name,
    }
    data = urllib.urlencode(value)
    req = urllib2.Request(url,data)
    response = urllib2.urlopen(req)
    page = response.read()
    if (page == '{"result":-1,"resultstr":"fail"}'): print '无法查询到用户信息'
    else:showMsg(getMsg(page))

main()


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值