c#中Twitterizer2的代理认证

本文关键字:代理 认证 Twitterizer2 | 更新日期: 2023-09-27 18:03:41

目前我用来更新twitter状态的代码如下…

public static void SendMessage(string message)
    {
        try
        {
            tokens = new OAuthTokens();
            tokens.AccessToken = "Some Token";
            tokens.AccessTokenSecret = "Some Secret";
            tokens.ConsumerKey = "Some Key";
            tokens.ConsumerSecret = "Some CSecret";    
           TwitterResponse<TwitterStatus> tweetResponse = TwitterStatus.Update(tokens, message);
        }

请告诉我如何在10.0.0.21和端口3128请求用户名和密码的代理上验证自己。

我能够使用以下代码访问网络并从c#应用程序下载网页,但由于这个问题,我无法从twitterizer更新twitter…

            WebClient w = new WebClient();
            WebProxy p = new WebProxy("10.0.0.21", 3128);
            p.Credentials = new NetworkCredential("UserName", "Password");
            w.Proxy = p;
            string s = w.DownloadString(SomeUrl);

如何在twitterizer2包中做同样的…?它没有从IE获取,因为这个代理需要身份验证。

我不确定如何修改配置文件。还有一个问题,我不会总是在代理后运行这个应用程序,大多数情况下它会在代理外运行。

请帮助。谢谢。

c#中Twitterizer2的代理认证

Twitterizer以3种方式处理代理设置。它们是,以便Twitterizer选择使用哪个:

    每个方法都有一个可选的参数参数。它们都是基于一个类,它有一个代理属性,允许你提供一个web代理,就像你在你的例子中做的一样。如果你有少量的Twitter集成,这是很好的,但显然不适合大型应用程序。
  1. 您可以在配置文件中使用<defaultproxy>元素指定代理。适用于整个应用程序,但不幸的是不能处理身份验证的使用。
  2. 使用IE默认设置

由于您的代理需要身份验证,因此唯一的选择是为每个方法指定可选的properties类。

例如:

public static void SendMessage(string message)
{
    try
    {
        tokens = new OAuthTokens();
        tokens.AccessToken = "Some Token";
        tokens.AccessTokenSecret = "Some Secret";
        tokens.ConsumerKey = "Some Key";
        tokens.ConsumerSecret = "Some CSecret";    
        WebProxy p = new WebProxy("10.0.0.21", 3128);
        p.Credentials = new NetworkCredential("UserName", "Password");
        StatusUpdateOptions options = new StatusUpdateOptions();
        options.Proxy = p;
       TwitterResponse<TwitterStatus> tweetResponse = TwitterStatus.Update(tokens, message, options);
    }
}