在 RestSharp v114.1 配置 API 中,显式网络代理是一项客户端选项:

var options = new RestClientOptions("https://api.example.com")
{
    Proxy = new WebProxy("http://proxy.example:8080")
};
using var client = new RestClient(options);

此片段使用 RestSharp 和 System.Net。基 URL 指明 API;WebProxy 地址指明中间方。在受支持的运行时上,经允许且无需代理身份验证的公共 API 测试可以使用 HTTP 代理列表中的候选项作为该中间方。在构造客户端之前,在该 WebProxy 上设置任何所需的代理凭据。

RestSharp 会将构造函数选项转换为不可变配置。检查 client.Options 是受支持的;构造后再在那里更改代理并不是这种设置方式。请保留已配置的客户端用于其工作,并在应用需要不同路由时创建另一个已配置的客户端。

如果你提供现有的 HttpClient 或自定义消息处理程序,请自行配置其传输。RestSharp 不会根据选项中的 Proxy 重建外部拥有的处理程序。分配给未使用选项的路由无法更改该处理程序打开的连接。

文档所述的 Proxy 选项存在平台限制,包括浏览器、iOS 和 tvOS 客户端。请使示例与所用运行时相匹配。为可变的 client.Proxy 属性赋值的旧版 RestSharp 示例属于另一代 API。

相关文章