我正在使用System.Net.WebClient类(https://msdn.microsoft.com/en-us/library/system.net.webclient(v=vs.110).aspx)与服务器的REST API进行通信。我能够毫无问题地完成大多数操作,但我无法使用“UploadData”方法(https://msdn.microsoft.com/en-us/library/ms144221(v=vs.110).aspx)。当我调用该方法时,我收到错误“无法创建SSL / TLS安全通道”。我没有问题运行相应的“UploadString”方法。有谁知道可能出现什么问题?
总而言之,这种方法有效:
public string Post(string endpoint, string body)
{
return UploadString(new Uri(Uri, endpoint), body);
}
但这失败了:
public byte[] Post(string endpoint, byte[] body)
{
return UploadData(new Uri(Uri, endpoint), body);
}
我一直在为生成的请求尝试不同的标头设置,但是无法使其正常工作。我很困惑,它抱怨SSL / TLS通道问题,并且没有看到这两个调用有何不同。
答案 0 :(得分:0)
我在配置查询参数时遇到了错误。显然,必须删除任何先前存在的'?'在将新查询附加到UriBuilder.Query属性时从查询中获取。所以我基本上必须对查询执行一个Substring(1),就像他们在这里描述的那样:
https://msdn.microsoft.com/en-us/library/system.uribuilder.query(v=vs.110).aspx