pythonDjangoapi身份验证后请求输出变量在浏览器中显示json字符串,但打印时不显示

2024-04-25 01:43:35 发布

您现在位置:Python中文网/ 问答频道 /正文

def test(request):
    u="username"
    p= 'password'
    url='url'
    req = urllib2.Request(url)
    base64string = base64.encodestring('%s:%s' % (u , p )).replace('\n', '')
    d = {}
    req.add_data(d)  //while authentication i dont send any data, but it is treated as POST request only if data is sent, so sending empty data
    req.add_header("Authorization", "Basic %s" % base64string) 
    req.add_header('Accept', 'application/json')  
    result = urllib2.urlopen(req)

    print result
    return HttpResponse(result) 

在浏览器中,响应以(HttpResponse的bcoz)形式出现

^{pr2}$

但是“print result”命令给出的结果是:

<addinfourl at 140585554707088 whose fp = <socket._fileobject object at 0x7fdca009e5d0>>

所以,我不能对这个变量做任何操作。我只需要字符串中的“token”值。我试过了:

type(result) // error
json.dumps(result)  //error 
json.loads(result)  //error 
token = result.token     //error

Tags: tokenaddjsonurldataisrequesterror