将内容发布到网页并返回它获得的内容?

时间:2013-08-31 21:57:39

标签: c# webclient

我对任何网络类型的东西都不是很好(就C#而言)但是我需要将数据(不是!)发布到网址,然后返回它输出的内容。

到目前为止,我正在使用此帖子并确定它是否已登录。

//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错误请求。有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

查看藤蔓代码,我会说你需要发送JSON数据而不是URL数据。有了简单的东西,你就可以写出字符串。

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

已更新以添加编码并且对JSON数据更严格

PHP的JSON解码器需要UTF-8编码数据,因此也要将编码行更改为

byte[] data = Encoding.UTF8.GetBytes(jsonData);