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

时间:2013-08-13 12:28:02

标签: c# asp.net vb.net proxy web-config

我正在调用位于www.webservice.com上的网络服务。 但是由于代理服务器,我无法打电话。

我在web.config中使用了以下代码,但它无效。

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

我正在使用vs2005&amp; .Net 2.0

2 个答案:

答案 0 :(得分:4)

请改用此配置。请记住它正在使用代理的默认凭据。我假设您已经在网络代理设置中配置了代理。

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

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

   </defaultProxy>

仅当www.webservice.com是您的服务器可以访问的内容时,此方法才有效。

答案 1 :(得分:4)

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

<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>

Microsoft参考:http://msdn.microsoft.com/en-us/library/31465c77.aspx

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

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