【问题标题】:How to set and get sessionid from Django without web browser如何在没有 Web 浏览器的情况下从 Django 设置和获取 sessionid
【发布时间】:2015-04-15 02:16:48
【问题描述】:

我正在使用 Django 1.6。

我想设置会话 ID。 当我使用网络浏览器时,我可以观看"sessionid" 的日志。

但是,当我使用 Unity3d 等其他应用程序时,
我无法观看 "sessionid" 日志。

您能告诉我如何获取会话 ID 吗?

我已经创建了视图

但是,我正在访问统一的应用程序

它返回。

def get_token(request):
    # request_cookies = OrderedDict(request.COOKIES)
    context = {}
    context.update(csrf(request))

    context['csrf_token'] = force_text(context['csrf_token'])
    session_key = request.session.session_key
    context['sessionid'] = session_key

    return HttpResponse(json.dumps(context), content_type="application/json")

但是,会话 ID 为空。但是网络浏览器还可以。

jsonText: {"csrf_token": "xma9Dtmv46va5uomZiZ9dcjjfCB9E2Gw", "sessionid": null}

【问题讨论】:

    标签: django django-views django-sessions django-1.6


    【解决方案1】:

    使用 cookie 设置会话。绝大多数浏览器都实现了 Cookie,但其他 http 客户端不实现。

    既然你提到了 Unity,我猜你用 Django 构建的是一个 api。我建议你看看 http://www.django-rest-framework.org/api-guide/authentication/#tokenauthentication 作为依赖 cookie 的替代方案。

    【讨论】:

      猜你喜欢
      • 2021-11-12
      • 2016-01-22
      • 2012-04-30
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多