【发布时间】:2014-03-03 18:33:39
【问题描述】:
这不是我擅长的主题,所以如果我说一些荒谬的话,我提前道歉。
我使用 Mule 开发了一个 HTTP 服务。当我直接连接到服务并使用我用 C# 编写的测试工具发送数据时,它可以完美运行。
作为我测试的最后一部分,我需要将其发送到一个 HTTPS URL,该 URL 应该“解密”消息并将其转发到我的服务。当我向 HTTPS URL 发送消息时,它会被转发到我的服务,但消息内容显示为空,因此不会得到处理。我知道我可能需要在我的测试工具中添加一些“加密”,但我整天都在研究如何做到这一点,但我发现没有任何东西可以回答我的问题。
这是我用于简单 HTTP 请求的代码示例:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(ConfigurationManager.AppSettings["HttpDestination"].ToString());
req.Method = "POST";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = data.Length;
using (Stream strm = req.GetRequestStream())
{
strm.Write(data, 0, data.Length);
}
HttpWebResponse response = (HttpWebResponse)req.GetResponse();
我需要在此处进行哪些更改才能使其正常工作?
【问题讨论】:
-
我也在添加 HTTP 标头,但这与我看到的问题无关。这是我丢失的消息内容。
-
好的。写完后忘记使用 strm.Close() 关闭 strm。
-
不,如果它在“使用”块中,我不需要关闭它。我发布的代码有效。我只是问我需要更改什么才能使用 HTTPS。