由于代理身份验证,DownloadURL失败

时间:2013-01-08 12:33:31

标签: servicestack

我正在使用servicestack设置facebook身份验证,并且已经获得了返回类型#f =未知,我已将其跟踪到来自身份验证块:

try
{
    var contents = accessTokenUrl.DownloadUrl();
    var authInfo = HttpUtility.ParseQueryString(contents);
    tokens.AccessTokenSecret = authInfo["access_token"];
    session.IsAuthenticated = true;
    authService.SaveSession(session, SessionExpiry);
    OnAuthenticated(authService, session, tokens, authInfo.ToDictionary());

    //Haz access!
    return authService.Redirect(session.ReferrerUrl.AddHashParam("s", "1"));
}
catch (WebException we)
{
    var statusCode = ((HttpWebResponse)we.Response).StatusCode;
    if (statusCode == HttpStatusCode.BadRequest)
    {
        return authService.Redirect(session.ReferrerUrl.AddHashParam("f", "AccessTokenFailed"));
     }
 }

//Shouldn't get here
return authService.Redirect(session.ReferrerUrl.AddHashParam("f", "Unknown"));

它的原因是catch检查响应状态代码。在我的场景中,我收到了407 Proxy Authentication。

我已经进一步跟踪了它:

var contents = accessTokenUrl.DownloadUrl();

任何人都可以帮助我实现所需的代理身份验证吗?

有关信息,我的应用程序在Windows环境中运行,它作为Windows身份验证用户运行,因此有权限访问代理服务器,我只需要告诉代码使用此 - 或任何 - 凭据。

感谢您的期待

1 个答案:

答案 0 :(得分:0)

您可以通过在Web中设置<defaultProxy/>来尝试setting the default proxy for .NET applications .Config:

<configuration>
  <system.net>
    <defaultProxy>
      <proxy
        usesystemdefaults="true"
        proxyaddress="http://192.168.1.10:3128"
        bypassonlocal="true"
      />
      <bypasslist
        <add address="[a-z]+\.contoso\.com" />
      </bypasslist>
    </defaultProxy>
  </system.net>
</configuration>