2017-08-02 111 views
0

因此,我正在开发一个django项目,其中一个目标是允许单独的python脚本发出HTTP请求(使用Requests库)来获取json数据在被认证后。这工作正常,问题是,如果我直接去url的request.get对象使用,我可以看到所有的数据(不涉及任何用户身份验证)。这使得我的身份验证过程毫无意义,因为只需转到网址即可轻松查看数据。那么,如何隐藏网页上的数据以免被查看,但仍然允许GET请求将数据提取到我的脚本中?如何隐藏GET请求也显示在网络

在附注中,我已经有了一个用于我的项目(显示数据)的Web界面部分的认证系统。我试图把它放在后面,但没有成功。

import json, requests, _mysql 
login_attempt = requests.post('http://127.0.0.1:8000/m_app/data_login/', 
{'username': 'test', 'password': 'password1234'}) 
if login_attempt.content.decode('UTF-8') == 'Successful': 
    print('Logged in.') 
else: 
    print('Not logged in.') 
cookies = dict(sessionid=login_attempt.cookies.get('sessionid')) 
data = requests.get('http://127.0.0.1:8000/m_app/load/data', #if I type this URL in, I see the data 
cookies=cookies) 
print(data.content) #prints desired data 
+0

请参阅:https://docs.djangoproject.com/en/1.11/topics/auth/default/#django.contrib.auth.decorators.login_required –

回答