0

私は (C# に関する限り) ネットワークの種類はあまり得意ではありませんが、データを (取得ではなく) Web URL に投稿し、それが出力するものを返す必要があります。

これまでのところ、これを投稿に使用して、ログインしているかどうかを判断しています。

//credentials
        string username = textBox1.Text;
        string password = textBox2.Text;

        using (WebClient client = new WebClient())
        {
            byte[] data = Encoding.Default.GetBytes("username="+username+"&password="+password);
            client.Headers["Content-Type"] = "application/Json";
            try
            {
                var response2 = client.UploadData(base_url + "/users/authenticate", "POST", data);
                MessageBox.Show(Encoding.Default.GetString(response2));
            }
            catch { }
        }

注: エラーは 400 bad request です。何か案は?

4

1 に答える 1

-1

つるのコードを見ると、URL データではなく JSON データを送信する必要があると言えます。そのような単純なものを使用すると、文字列を書くことができます。

String jsonData = "{\"username\": \"" + username + "\", \"password\": \"" + password + "\"}";

エンコーディングを追加し、JSON データをより厳密にするために更新されました

PHP の JSON デコーダーは UTF-8 でエンコードされたデータを必要とするため、エンコード行も次のように変更します。

byte[] data = Encoding.UTF8.GetBytes(jsonData);
于 2013-08-31T22:33:58.157 に答える