C# WebClient.UploadData用于post请求的正确用法

C# WebClient.UploadData用于post请求的正确用法,c#,webclient,C#,Webclient,我想我有点疯了,当我在我的本地Web服务器上测试这个时,它工作得很好 当我转到live网站时,它返回一个空白字符串,而不是我期望的数据 我对C#不太熟悉,所以我只是想检查一下我做的事情是否正确。 数据只是简单的ascii文本 wc = new WebClient(); wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); response = wc.UploadData(this.urlUpdate, En

我想我有点疯了,当我在我的本地Web服务器上测试这个时,它工作得很好 当我转到live网站时,它返回一个空白字符串,而不是我期望的数据

我对C#不太熟悉,所以我只是想检查一下我做的事情是否正确。 数据只是简单的ascii文本

 wc = new WebClient();
 wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
 response = wc.UploadData(this.urlUpdate, Encoding.ASCII.GetBytes("data=" + HttpUtility.UrlEncode(buf.ToString())));

 s = Encoding.ASCII.GetString(response);

这真的取决于你想做什么。。。例如,我不确定为什么要在正文中对数据进行url编码。发布键/值对的一种更简单的方法是使用
上传值

NameValueCollection inputs = new NameValueCollection();
string value = ...
inputs.Add("data", value);
webClient.UploadValues(address, inputs);

它并没有解决问题,但却是一种更好的解决方案编码方法。我想我是因为不熟悉C#api才用这种方式编码的