如何隐藏 GET 请求,使其不在 Web 上显示
How to hide GET requests from also being displayed on web
所以我正在做一个 django 项目,其中一个目标是允许单独的 python 脚本发出 HTTP 请求(使用 Requests 库)以获取 json 数据 在 被验证之后。这工作正常,问题是如果我直接去 url request.get 对象使用,我可以看到所有数据(不涉及任何用户身份验证)。这使我的身份验证过程毫无意义,因为只需转到 url 即可轻松查看数据。那么我该如何隐藏 Web 端的数据不被查看,但仍然允许 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
默认情况下,您在 django 中的所有视图都是 public,但很容易让它们受到 checking request.user
or using a login_required
decorator 的保护。
所以我正在做一个 django 项目,其中一个目标是允许单独的 python 脚本发出 HTTP 请求(使用 Requests 库)以获取 json 数据 在 被验证之后。这工作正常,问题是如果我直接去 url request.get 对象使用,我可以看到所有数据(不涉及任何用户身份验证)。这使我的身份验证过程毫无意义,因为只需转到 url 即可轻松查看数据。那么我该如何隐藏 Web 端的数据不被查看,但仍然允许 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
默认情况下,您在 django 中的所有视图都是 public,但很容易让它们受到 checking request.user
or using a login_required
decorator 的保护。