2

目前我用来更新推特状态的代码如下......

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 获取的,因为此代理需要身份验证。

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

请帮忙。谢谢。

4

1 回答 1

2

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

  1. 每个方法都有一个可选的参数参数。它们都基于具有代理属性的单个类,该属性允许您以与示例中完全相同的方式提供 Web 代理。如果您有少量的 Twitter 集成,这很好,但对于大型应用程序显然不是很好。
  2. <defaultproxy>您可以使用该元素在配置文件中指定您的代理。适合整个应用程序,但不幸的是不会处理身份验证的使用。
  3. 使用默认的 IE 设置。

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

例如:

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);

    }
}
于 2011-07-27T01:34:14.127 回答