c#webclient从ssl上传和下载数据

时间:2013-03-05 07:27:21

标签: c# ssl webclient

我在Windows上有一个wamp服务器。 SSL配置正确。在浏览器中它正在运行https :.我有一个脚本test.php,我想下载并上传一些POST数据。我有我的c#代码:

WebClient client = new WebClient();
client.Encoding = Encoding.UTF8;
NameValueCollection values = new NameValueCollection();
values.Add("paramtest", "testval");
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
client.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
byte[] result;   
result = client.UploadValues("https://127.0.0.1./test.php", "POST", values); 
string htmlCode = Encoding.UTF8.GetString(result);
textBox1.Text = htmlCode;

当使用http运行此代码时,我获得了所有数据。当放入https时,我从服务器收到错误:

  

  400错误请求

错误请求

  

您的浏览器发送了此服务器无法发出的请求   明白。

你知道我该如何解决它?

1 个答案:

答案 0 :(得分:3)

不确定这是否是原因,但您的网址有一个尾随'。'在IP地址之后:

result = client.UploadValues("https://127.0.0.1/test.php", "POST", values);

而不是

result = client.UploadValues("https://127.0.0.1./test.php", "POST", values);