通过 SOCKS5 代理连接到 MongoDB
概述
在本指南中,您可以了解如何使用MongoDB Kotlin驱动程序通过SOCKS5代理连接到MongoDB。SOCKS5是一种通过代理服务器与网络服务通信的标准化协议。
提示
有关SOCKS5协议的更多信息,请参阅维基百科上的SOCKS.
SOCKS5代理设置
代理设置指定了SOCKS5代理服务器地址和您的认证凭据。您可以在MongoClientSettings实例或连接字符串中指定您的设置。MongoClientSettings
或连接字符串中指定您的设置。
以下表格描述了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
实例时,使用 applyToSocketSettings()
构建方法指定 SOCKS5 代理设置
val uri = "<connection string>" val mongoClient = MongoClient.create( MongoClientSettings.builder() .applyConnectionString(ConnectionString(uri)) .applyToSocketSettings{ builder -> builder .applyToProxySettings{ proxyBuilder -> proxyBuilder .host("<proxyHost>") .port("<proxyPort>".toInt()) .username("<proxyUsername>") .password("<proxyPassword>") .build() } } .build() )
在连接字符串中指定代理设置
以下代码示例展示了如何在您的连接字符串中指定 SOCKS5 代理设置
val connectionString = ConnectionString( "mongodb+srv://<user>:<password>@<cluster-url>/?" + "proxyHost=<proxyHost>" + "&proxyPort=<proxyPort>" + "&proxyUsername=<proxyUsername>" + "&proxyPassword=<proxyPassword>" ) val mongoClient = MongoClient.create(connectionString)
API 文档
要了解更多关于本指南中讨论的方法和类型,请参阅以下 API 文档