通过SOCKS5代理连接到MongoDB
概述
在本指南中,您可以了解如何通过SOCKS5代理连接到MongoDB。SOCKS5是一种标准化的协议,用于通过代理服务器与网络服务进行通信。
提示
要了解更多关于SOCKS5协议的信息,请参阅维基百科上的SOCKS.
SOCKS5代理设置
代理设置指定了SOCKS5代理服务器地址和您的身份验证凭据。您可以在以下实例中指定您的设置:MongoClientSettings 或您的 连接字符串。
重要
如果以下任一条件为真,驱动程序将忽略代理设置:
Unix域套接字处理通信。有关更多信息,请参阅 UnixServerAddress 文档。
TransportSettings
已配置。有关更多信息,请参阅 TransportSettings 文档。
以下表格描述了 SOCKS5 客户端选项
名称 | 接受值 | 描述 |
---|---|---|
proxyHost | 字符串 | 指定 SOCKS5 代理的 IPv4 地址、IPv6 地址或主机名。您必须提供此值才能连接到 SOCKS5 代理。 |
proxyPort | 非负整数 | 指定 SOCKS5 代理服务器的 TCP 端口号。当您设置 proxyHost 时,此选项默认为 1080 。 |
proxyUsername | 字符串 | 指定用于验证 SOCKS5 代理服务器的用户名。驱动程序忽略此设置的 null 和空字符串值。驱动程序要求您为 proxyUsername 和 proxyPassword 传递值,或者省略这两个值。 |
proxyPassword | 字符串 | 指定用于验证 SOCKS5 代理服务器的密码。驱动程序忽略此设置的 null 和空字符串值。驱动程序要求您为 proxyUsername 和 proxyPassword 传递值,或者省略这两个值。 |
示例
以下示例显示了如何通过 SOCKS5 代理连接到 MongoDB 的 MongoClient
。可以在 MongoClientSettings
实例或连接字符串中指定代理设置。这些示例使用 SOCKS5 代理设置 部分中描述的占位符值。用您的代理设置替换占位符。
在MongoClientSettings中指定代理设置
以下代码示例展示了如何通过使用MongoClientSettings
构建器来指定您的SOCKS5代理设置
MongoClient mongoClient = MongoClients.create( MongoClientSettings.builder() .applyConnectionString( new ConnectionString("mongodb+srv://myDatabaseUser:myPassword@example.org/")) .applyToSocketSettings(builder -> builder.applyToProxySettings(proxyBuilder -> proxyBuilder .host("<proxyHost>") .port(<proxyPort>) .username("<proxyUsername>") .password("<proxyPassword>") ) ).build());
在连接字符串中指定代理设置
以下代码示例展示了如何在您的连接字符串中指定您的SOCKS5代理设置
String connectionString = "mongodb+srv://myDatabaseUser:myPassword@example.org/" + "?proxyHost=<proxyHost>" + "&proxyPort=<proxyPort>" + "&proxyUsername=<proxyUsername>" + "&proxyPassword=<proxyPassword>"; MongoClient mongoClient = MongoClients.create(connectionString);
API 文档
要了解更多关于本指南中讨论的方法和类型的信息,请参阅以下API文档