C# 在vb.net中绕过代理服务器

C# 在vb.net中绕过代理服务器,c#,asp.net,vb.net,proxy,web-config,C#,Asp.net,Vb.net,Proxy,Web Config,我正在呼叫一个位于www.webservice.com的webservice。 但由于代理服务器的原因,我无法呼叫 我在我的web.config中使用了以下代码,但它不起作用 <defaultProxy> <proxy proxyaddress="www.proxyserver.com" bypassonlocal="True" usesystemdefault="False" /> <bypasslist > <add address

我正在呼叫一个位于www.webservice.com的webservice。 但由于代理服务器的原因,我无法呼叫

我在我的web.config中使用了以下代码,但它不起作用

<defaultProxy>
  <proxy proxyaddress="www.proxyserver.com" bypassonlocal="True" usesystemdefault="False"  />
  <bypasslist >
    <add address="www.webservice.com" />
  </bypasslist>
</defaultProxy>


我使用的是vs2005和.Net 2.0,请改用此配置。请记住,它使用的是代理的默认凭据。我假设您已经在网络代理设置中配置了代理

  <defaultProxy useDefaultCredentials="true">
       <proxy usesystemdefault="True"
        proxyaddress="http://yourproxyAddress"
        bypassonlocal="True" />

     <bypasslist >
         <add address="www.webservice.com" />
     </bypasslist>

   </defaultProxy>


只有当您的服务器可以访问www.webservice.com时,这才有效。

您尝试过使用正则表达式作为旁路列表地址吗?我认为您域中的点可能会导致问题,因为点需要在正则表达式中转义

<configuration>
  <system.net>
    <defaultProxy>
      <bypasslist>
        <add address="[a-z]+\.contoso\.com$" />
        <add address="192\.168\.\d{1,3}\.\d{1,3}" />
      </bypasslist>
    </defaultProxy>
  </system.net>
</configuration>

如果WCF未使用defaultProxy设置,请尝试在代码或web.config中将web服务绑定的UseDefaultWebProxy设置为false

<basicHttpBinding>
   <binding useDefaultWebProxy="False" />
</basicHttpBinding>


是否允许绕过proxyserver与webservice的传出连接?通常,当您使用proxyserver时,这是打开传出连接的方式,否则防火墙可能会阻塞。您如何确定您的请求正在命中代理服务器?你怎么知道你成功绕过了它?当我从没有互联网的机器(机器在局域网中)访问web服务时,它工作正常。但是,当我尝试从具有internet连接的计算机进行操作时,它将不允许我使用。bypasslist:提供一组正则表达式,用于描述不使用代理的地址。是否有效
address=”https://labgrm.com/*“
address=“192.168.\d{1,3}\.\d{1,3}”
有效,无效
address=“192.168.*”
?有效
地址=“https://www.nuget.org/api/*“
?或者更好的方法是
address=“www\.nuget\.org$
192\.168\.\d{1,3}.\d{1,3}
[a-z]+\.webservice\.com$
?有效
https://www.nuget.org/api/*
?MSDN说明:将IP地址或DNS名称添加到代理绕过列表中。不说明URL或URI。
为此元素指定正则表达式时应小心。正则表达式“[a-z]+.contoso.com匹配contoso.com域中的任何主机,但它也匹配contoso.com.cpandl.com域中的任何主机。要仅匹配contoso.com域中的主机,请使用锚定($):“[a-z]+.contoso.com$”