当前位置: 首页 > 知识库问答 >
问题:

强制WebClient使用SSL

尤夕
2023-03-14

我看到这篇文章给出了使用WebClient将文件上传到ftp的简单想法。这很简单,但如何强制它使用SSL?

共有1个答案

方斌
2023-03-14

爱德华·布雷的回答可能会回答你的问题。我不会提供自己的答案,而是照搬爱德华的话:

您可以使用FtpWebRequest;然而,这是相当低的水平。有一个更高级别的WebClient类,在许多场景中需要更少的代码;但是,默认情况下,它不支持FTP/SSL。幸运的是,您可以通过注册自己的前缀使WebClient与FTP/SSL一起工作:

private void RegisterFtps()
{
    WebRequest.RegisterPrefix("ftps", new FtpsWebRequestCreator());
}

private sealed class FtpsWebRequestCreator : IWebRequestCreate
{
    public WebRequest Create(Uri uri)
    {
        FtpWebRequest webRequest = (FtpWebRequest)WebRequest.Create(uri.AbsoluteUri.Remove(3, 1)); // Removes the "s" in "ftps://".
        webRequest.EnableSsl = true;
        return webRequest;
    }
}

一旦你这样做了,你可以像正常人一样使用WebRequest,除了你的URI以“ftp://”开始,而不是“ftp://”。需要注意的一点是,您必须指定方法,因为没有默认方法。例如。

// Note here that the second parameter can't be null.
webClient.UploadFileAsync(uploadUri, WebRequestMethods.Ftp.UploadFile, fileName, state);
 类似资料:
  • 问题内容: 我正在运行没有代理并且使用SSL的node.js express 3服务器。 我试图弄清楚如何强制所有连接通过https。 Google搜索向我显示了这一点: https://groups.google.com/forum/#!topic/express- js/Bm6yozgoDSY 当前没有办法强制执行https重定向,尽管这似乎有点奇怪。我们有一个仅使用https的应用程序,并且

  • 问题内容: 我们正在与第三方进行集成,该第三方发送的XML的Content-Type标头为text / html。我们正计划使用Spring的RestTemplate将其映射到我们从xsds生成的类,但是RestTemplate无法找到合适的转换器用于内容。第三方拒绝修复内容类型,因为它可能破坏其他伙伴的集成。 Spring的RestTemplate是否有办法强制其使用特定的转换器?我们基本上只是

  • 我们正在与第三方集成,该第三方以text/html的形式发送带有content-type标题的xml。我们计划使用Spring的RestTemplate将其映射到我们从xsds生成的类,但是RestTemplate未能为内容找到合适的转换器。第三方拒绝修复内容类型,因为这可能会破坏其他合作伙伴的集成。 Spring的RestTemplate有办法强制它使用特定的转换器吗?我们基本上只是在做以下几点

  • 有没有强制slf4j使用特定的日志提供程序(在我的情况下是logback)?如在其文件中所述: 在类路径上找到多个绑定 我想要的只是通过JVM参数强制slf4j使用logback,例如,这样它就可以打印警告,并且我可以在将来排除JAR。

  • 我试图使用Auth在我的Kohana应用程序中强制使用强(er)密码,方法是使用以下正则表达式要求至少一个大写字母、一个小写字母、一个数字、一个非字母数字(特殊字符)和至少8个字符。 正则表达式正在工作,正如在Rubular上可以看到的那样。这是我在Kohana的Model\u Auth\u User中使用的代码,它扩展了ORM。 但是,当创建一个新的用户帐户或更改现有帐户的密码时,这个正则表达式

  • 问题内容: 如何使用PHP中特定的.htaccess和mod_rewrite页面强制使用SSL / https。 问题答案: 对于Apache,您可以使用强制SSL : 除非为当前连接启用了SSL上的HTTP(即HTTPS),否则该指令禁止访问。这在启用SSL的虚拟主机或目录中非常方便,可防止配置错误暴露应受保护的内容。使用此指令时,将拒绝所有未使用SSL的请求。 不过,这不会重定向到https。