Как войти в веб-приложение с помощью Golang

Я начинающий Go разработчик. Я хочу войти в мое django веб-приложение, вот мой код для входа в мое веб-приложение (написанный на Python):


import requests
from sys import argv as sys_argv
from sys import exit as sys_exit
from json import dumps as json_dumps


def print_response(response):
    print("URL: %s\nStatus Code: %s\nCookies: %s\nHTTP Header:\n%s\n%s\n%s\nResponse:\n%s" %(response.url, response.status_code, response.cookies.get_dict(), "-"*20, json_dumps(response.headers.__dict__["_store"], indent=4), "-"*20, response.text))

# The URL
try:
    url = sys_argv[1]
except IndexError:
    print("Usage: %s <url>" %(sys_argv[0]))
    sys_exit(1)

# Session
session = requests.Session()

# Form-Based Authentication
if len(sys_argv) > 2:
    response = session.get(url)
    print_response(response)

    username = sys_argv[2]
    password = sys_argv[3]

    # Authentication header
    auth_header = {"user": username, "pass": password, "submit": "submit"}
    try:
        # Adding csrftoken required by django
        auth_header["csrfmiddlewaretoken"] = response.cookies["csrftoken"]
    except KeyError:
        pass
    response = session.post(url, data=auth_header)
else:
    response = session.get(url)

print_response(response)


Этот код работает нормально. Я воссоздал этот код в go. Вот проблема, если я использую приложение go, когда я вхожу в мое приложение flask, оно работает нормально, но если я вхожу в мое приложение django, оно не работает, посылая мне django RuntimeError (этого не происходит, если я вхожу через браузер или мое приложение python).

Так что я думаю, что мне нужно добавить csrftoken, как в моем приложении python, но как мне это сделать?

Вот мое приложение (я знаю, что оно грязное, но сейчас я просто хочу, чтобы что-то работало правильно):

Может ли кто-нибудь помочь мне? Спасибо.

Вернуться на верх