如何在VB.NET代码中为RestClient API单独设置代理不影响IE全局配置
你用的RestSharp库支持为单个RestClient实例独立配置代理,不会修改系统全局的IE代理设置,完全不会影响原有API的运行,只需要按以下方式修改代码即可:
适用RestSharp v106及更早版本的修改方案
在实例化RestClient之后新增代理配置段即可,完整代码如下:
' 先确认代码顶部引入了System.Net命名空间 ' Imports System.Net Dim client As RestClient = New RestClient(strUri) ' --- 新增独立代理配置开始 --- ' 替换为你实际要用的代理地址和端口 Dim customProxy As New WebProxy("http://你的代理IP", 代理端口) ' 如果代理不需要身份认证,可删除下面的Credentials赋值行 customProxy.Credentials = New NetworkCredential("代理登录账号", "代理登录密码") ' 为当前RestClient指定专属代理,仅对本次实例生效 client.Proxy = customProxy ' --- 新增独立代理配置结束 --- Dim request = New RestRequest(Method.POST) request.AddHeader("Connection", "close") request.AddHeader("cache-control", "no-cache,no-cache") request.AddHeader("Content-Type", "application/x-www-form-urlencoded") request.AddParameter("undefined", strUserIdPassword, ParameterType.RequestBody) request.AddHeader("Accept", "*/*") Dim response As IRestResponse = client.Execute(request) strToken = response.Content
如果你的需求是不需要走代理,直接访问内网BMC服务器,只需将client.Proxy设置为Nothing即可强制绕过系统代理。
适用RestSharp v107及更高版本的修改方案
v107版本后RestSharp调整了初始化API,用RestClientOptions统一配置即可:
' Imports System.Net Dim options As New RestClientOptions(strUri) With { .Proxy = New WebProxy("http://你的代理IP", 代理端口) With { .Credentials = New NetworkCredential("代理登录账号", "代理登录密码") } } Dim client As RestClient = New RestClient(options) ' 后续请求相关代码保持不变
内容的提问来源于stack exchange,提问作者JTS2045
相关产品推荐
相关产品推荐

