【发布时间】:2019-01-03 16:08:29
【问题描述】:
我目前正在尝试将已编译的令牌发送到需要令牌的 Web 服务,但我无法使用大多数 .NET 4.5 类来执行此操作。
每次我向服务器发送任何类型的 HTTP POST 请求时,它都无法读取我发送给它的信息,因为它们显然不接受包括 SOAP 调用在内的任何类型的连接。
我已经积极尝试了解如何在没有 SOAP 调用的情况下联系服务器,但我能找到的唯一方法是将令牌包含在 HTML 中并使用 Javascript 发布。出于显而易见的原因,我不想使用这种方法,因为它不安全。
public void sendHTTPPost(string token)
{
ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;
var client = new RestClient("DOMAIN");
var request = new RestRequest("URLEXTRA", Method.POST);
var tokenToBytes = Encoding.ASCII.GetBytes(token);
string encodedToken = System.Convert.ToBase64String(tokenToBytes);
request.AddParameter("TOKEN", encodedToken);
var response = client.Execute(request);
Response.Write(response.Content);
}
服务器应该能够看到数据,但如前所述,服务器不接受任何带有 SOAP 绑定的 POST 方法。
是否有其他方法可以通过 .NET 联系此服务而不使用 SOAP 调用/绑定?
【问题讨论】:
-
SOAP 只是建立在 HTTP 之上的众多约定之一。如果服务器正在执行某种形式的 HTTP,您需要找出它遵循什么约定。我们无法帮助您发现这一点 - 这将是服务器文档或与服务器维护人员的对话。