1

Django サイトにデータを送信する必要がある VB.NET プログラムを作成していますが、サイトはパスワードで保護されています。したがって、最初にログインする必要があります。私が現在使用しているコードは次のとおりです。

Dim reqT As HttpWebRequest
Dim resT As HttpWebResponse
reqT = WebRequest.Create("http://websiteURL/login/")
reqT.Method = "POST"

Dim Data As String
Data = "{""username"":""fakeusername""&""password"":""fakepassword""}"
Dim credArray As Byte() = Encoding.UTF8.GetBytes(Data)
reqT.ContentType = "application/x-www-form-urlencoded"
reqT.ContentLength = credArray.Length
Dim dataStreamT As Stream = reqT.GetRequestStream()
dataStreamT.Write(credArray, 0, credArray.Length)
dataStreamT.Close()

これにより、Web サーバーから 403 エラーが返されます。残念ながら、修正方法がわかりません。csrf が失敗しているか、POST データのフォーマットが間違っている可能性があります。どんな助けでも大歓迎です。

4

1 に答える 1

2

私にはCSRF保護のように思えます。Django CSRF のドキュメントは次のとおりです。

How It Works セクションに従って、 POST リクエストは CSRF トークンと CSRF Coo​​kie を渡す必要があります。

ログインページに対して GET リクエストを行うと、HTML ソースからトークンを取得できるはずです。あなたもクッキーにアクセスできると思いますか?

于 2012-10-05T20:20:03.943 に答える