【问题标题】:Facebook SDK Proxy setting C#Facebook SDK 代理设置 C#
【发布时间】:2012-09-03 16:07:50
【问题描述】:

我使用 Facebook SDK .net,但我使用带身份验证的代理连接到互联网 我收到错误 (407) (407) proxy authentication required 如何在 Facebook SDK 上设置身份验证

【问题讨论】:

    标签: facebook-c#-sdk


    【解决方案1】:

    在 FacebookClient 中有一个静态方法可以让你全局设置它。

    [EditorBrowsable(EditorBrowsableState.Never)]
    public static void SetDefaultHttpWebRequestFactory(Func<Uri, HttpWebRequestWrapper> httpWebRequestFactory)
    

    你可能在智能感知中看不到它,因为它默认是隐藏的。

    如果您希望每个实例都有它,您可以使用该属性。

    [EditorBrowsable(EditorBrowsableState.Never)]
    public virtual Func<Uri, HttpWebRequestWrapper> HttpWebRequestFactory { get; set; }
    

    这是一个例子。

    FacebookClient.SetDefaultHttpWebRequestFactory(uri => {
        var request = new HttpWebRequestWrapper((HttpWebRequest)WebRequest.Create(uri));
        request.Proxy = ......; // normal .net IWebProxy
        return request;
    });
    

    【讨论】:

    • 看不到,没有acebookClient.SetDefaultHttpWebRequestFactory 我的代码是C#代码
    • 它是静态的而不是实例 FacebookClient.SetDefaultHttpWebRequestFactory。它对智能感知是隐藏的,因此您可能看不到它。检查源代码。
    【解决方案2】:

    我最近在使用 FacebookClient 发布到 Facebook 页面时遇到了这个问题。就我而言,我有一个负责 Facebook 交互的 WCF 服务,该服务位于公司代理之后。 This stackoverflow answer 为我解决了这个问题,但需要将服务的 IIS 应用程序池用户身份设置为具有域凭据的用户,否则会返回 407 错误。因此,将应用程序池标识设置为域帐户并将以下内容添加到 web.config:

    <system.net>
      <defaultProxy useDefaultCredentials="true" />
    </system.net>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 2012-04-17
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      • 2011-08-26
      • 2012-07-17
      相关资源
      最近更新 更多