gpt4 book ai didi

Django:如何返回原始响应

转载 作者:行者123 更新时间:2023-12-04 04:13:05 26 4
gpt4 key购买 nike

这就是我要的。

  • 向外部站点提交POST请求(即登录信息)。
  • 收到回复
  • 将原始响应返回到我的客户的浏览器(包含用于登录的cookie)
    验证)。
  • 如果客户端尝试在新选项卡中访问站点,他会发现他已经登录。

  • 我成功完成了步骤1和2(提交了POST并收到了网站的回复)。
    request = urllib2.Request(url, formData, headers)
    response = urllib2.urlopen(request)

    但是当我尝试在 View 中返回它时
    return response

    我收到以下错误
    Django Version:     1.3.1
    Exception Type: AttributeError
    Exception Value: addinfourl instance has no attribute 'has_header'
    Exception Location:D:\Python27\lib\site-packages\django\utils\cache.py in patch_vary_headers

    笔记:
    我以前有一个csrf错误,但是我使用装饰器@csrf_exempt禁用了csrf,并且该错误消失了

    最佳答案

    您不应该直接从urlopen方法返回响应。相反,您的 View 应返回django的HttpResponse的实例,其中body和headers应设置为原始响应中的内容:

    from django.http import HttpResponse
    import urllib2

    def my_view(request):
    request = urllib2.Request(url, formData, headers)
    response = urllib2.urlopen(request)

    # set the body
    r = HttpResponse(response.read())

    # set the headers
    for header in response.info().keys():
    r[header] = response.info()[header]

    return r

    关于Django:如何返回原始响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7952518/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com