Как войти в веб-приложение с помощью 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, но как мне это сделать?
Вот мое приложение (я знаю, что оно грязное, но сейчас я просто хочу, чтобы что-то работало правильно):
Может ли кто-нибудь помочь мне? Спасибо.