听起来您的代理需要凭据。必须在代码中提供凭据;我目前正在搜索 Google API 的源代码以找到它,因为它们有自己的自定义请求对象。
同时,您可以通过不使用默认代理来使其工作。修改您的 app.config 或 web.config 以将其插入正确的位置:
<configuration>
<system.net>
<defaultProxy>
<proxy usesystemdefault="false"/>
</defaultProxy>
</system.net>
</configuration>
编辑:
好的,在进行了一些挖掘之后,我认为您将按照以下方式重构您为特定请求链接的说明。假设您已经创建了一个 YouTubeRequest,如下所示:
YouTubeRequest request = new YouTubeRequest(settings);
以下是链接中的重构说明:
YouTubeRequest request = new YouTubeRequest(settings);
GDataRequestFactory f = (GDataRequestFactory) request.Service.RequestFactory;
IWebProxy iProxy = WebRequest.DefaultWebProxy;
WebProxy myProxy = new WebProxy(iProxy.GetProxy(query.Uri));
// potentially, setup credentials on the proxy here
myProxy.Credentials = CredentialsCache.DefaultCredentials;
myProxy.UseDefaultCredentials = true;
f.Proxy = myProxy;
以下是我的消息来源:
http://google-gdata.googlecode.com/svn/docs/folder56/T_Google_YouTube_YouTubeRequest.htm
http://google-gdata.googlecode.com/svn/docs/folder53/P_Google_GData_Client_FeedRequest_1_Service.htm
http://google-gdata.googlecode.com/svn/docs/folder19/P_Google_GData_Client_Service_RequestFactory.htm