【发布时间】:2012-09-03 16:07:50
【问题描述】:
我使用 Facebook SDK .net,但我使用带身份验证的代理连接到互联网 我收到错误 (407) (407) proxy authentication required 如何在 Facebook SDK 上设置身份验证
【问题讨论】:
标签: facebook-c#-sdk
我使用 Facebook SDK .net,但我使用带身份验证的代理连接到互联网 我收到错误 (407) (407) proxy authentication required 如何在 Facebook SDK 上设置身份验证
【问题讨论】:
标签: facebook-c#-sdk
在 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;
});
【讨论】:
我最近在使用 FacebookClient 发布到 Facebook 页面时遇到了这个问题。就我而言,我有一个负责 Facebook 交互的 WCF 服务,该服务位于公司代理之后。 This stackoverflow answer 为我解决了这个问题,但需要将服务的 IIS 应用程序池用户身份设置为具有域凭据的用户,否则会返回 407 错误。因此,将应用程序池标识设置为域帐户并将以下内容添加到 web.config:
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
【讨论】: