2012-01-24 20 views
3

私はTwitterにメッセージを投稿しようとしていましたが、そのエラーを取り除く方法は?プロキシ認証が必要(Forefront TMGで要求を満たすための承認が必要です.Webプロキシフィルタへのアクセスが拒否されています)

スタックトレースは以下の通りです:

Exception = {"The remote server returned an error: (407) Proxy Authentication Required."} ExceptionStatus = ProtocolError

コード:

private string GetOAuthUrl() 
{ 
    IFluentTwitter twitter; 

    //Override the callback url if one was entered 
    if (CallbackUrl != null && CallbackUrl.Trim().Length > 0) 
    { 
     twitter = FluentTwitter.CreateRequest().Configuration.UseHttps().Authentication.GetRequestToken(ConsumerKey, ConsumerSecret, CallbackUrl); 
    } 
    else 
    { 
     twitter = FluentTwitter.CreateRequest().Configuration.UseHttps().Authentication.GetRequestToken(ConsumerKey, ConsumerSecret); 
    } 

    var response = twitter.Request(); 
    UnauthorizedToken UnauthorizedToken = response.AsToken(); 

    string AuthorizationUrl = FluentTwitter.CreateRequest().Authentication.GetAuthorizationUrl(UnauthorizedToken.Token); 
    return AuthorizationUrl; 
} 
+0

、String.IsNullOrWhiteSpaceは() ' – abatishchev

+0

uは代わりに'場合(CallbackUrl!= nullの&& CallbackUrl.Trim()。長さ> 0) ' – user1157685

+0

いくつかのより多くを説明することができ、私は – abatishchev

答えて

7

流暢なさえずりがカバーの下にWebRequestsを使用している場合は、あなたがこのようなコードを使用してプロキシの資格情報を指定する必要があります。

System.Net.WebRequest.DefaultWebProxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials; 

これは、すべてのWeb要求に、ユーザーのログイン情報を使用するように指示しますgプロキシで認証するアプリケーション。

この機能を有効にするには、プロキシサーバーへのアクセスが許可されているサービスアカウントで実行するようにアプリケーションを設定する必要があります。その後、サービスを実行するためにできるだけ少ない権限を持つように、このサービスアカウントを結ぶことができます。アプリケーションはプロキシサーバーを使用する権利を持っていないアカウントで実行する必要がある場合は、次のように、明示的に資格情報を指定することができます

:これまで

System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("username", "password", "domain"); 
System.Net.WebRequest.DefaultProxy.Credentials = credentials; 

下側は、あなたが持っているということですそれらの資格情報をどこかに格納し、攻撃者がアプリケーションを危険にさらした場合には攻撃者によって取り込まれる可能性があります。一部の環境では、これはセキュリティの観点からは受け入れられません。ところで

+0

ありがとう私はその上で動作します – user1157685

+0

それは動作していない、デバッグモードで私はusername passwordを見つけました、ドメインはnullです – user1157685

+0

あなたのアプリケーションがローカルアカウントで実行されている可能性があります。アカウントを変更するか、コードから資格情報を明示的に指定する必要があります。私はそれに応じて私の答えを修正しました。 – sga101

関連する問題