Проверка подлинности прокси для Twitterizer2 в C # - PullRequest
2 голосов
/ 26 июля 2011

В настоящее время код, который я использую для обновления статуса твиттера, выглядит следующим образом ...

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 #, используя следующий код, но не могу обновить twitter из twitterizer из-за этой проблемы ...

            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, потому что для этого прокси требуется аутентификация.

Я не уверен, как изменить файл конфигурации.Еще одна проблема заключается в том, что я не буду запускать это приложение всегда за прокси-сервером, в основном оно будет работать за пределами прокси.

Пожалуйста, помогите.Спасибо.

1 Ответ

2 голосов
/ 27 июля 2011

Twitterizer обрабатывает настройки прокси тремя способами. Они для того, чтобы Twitterizer выбирал, что использовать:

  1. Каждый метод имеет необязательный аргумент параметров. Все они основаны на одном классе, который имеет свойство proxy, которое позволяет вам предоставлять веб-прокси точно так же, как вы это делали в своем примере. Это хорошо, если у вас есть небольшая интеграция с 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);

    }
}
...