Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> webclient.proxy, isbypass=true - всегда, хоть стреляй его 
V
    Опции темы
kulibin
Дата 19.5.2007, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 9.5.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



такая вот задачка: моя программа скачавает файл с сервера по фтп/нттп - в зависимости от адреса в настройках. там же задаётся прокси. в коде это так делается:
Код

public static WebProxy GetProxy()
            {
                bool use_proxy = false; IniFile ini=new IniFile(); WebProxy px = new WebProxy();
                try { use_proxy = (ini.IniReadValue("general_settings", "use_proxy") == "true") ? true : false; }
                catch { }
                try
                {
                    if (use_proxy)
                    {
                        string proxy_user = ini.IniReadValue("general_settings", "proxy_user");
                        string proxy_password = ini.IniReadValue("general_settings", "proxy_password");
                        string proxy_adress = ini.IniReadValue("general_settings", "proxy_adress");
                        if (proxy_adress == "")
                        {
                            MessageBox.Show("Заполните настройки прокси-сервера " +
                                "или снимите флажок \"Использовать прокси\"");
                            return null;
                        }
                        //TODO: proxy_password == "" || proxy_user == ""
                        px.Credentials = new NetworkCredential(proxy_user,
                            proxy_password);
                        px.Address = new Uri(proxy_adress);
                        px.BypassProxyOnLocal = false;
                        return px;
                    }
                }
                catch (Exception ex)
                { MessageBox.Show(ex.ToString()); }
                return null;
            }
 
и потом
Код

WebClient wc = new WebClient(); 
WebProxy px = GetProxy();
if (px != null) wc.Proxy = px;

или так
Код

                //WebProxy px = GetProxy();
                //if (px != null) WebRequest.DefaultWebProxy = px; //GlobalProxySelection.Select = px;//wc.Proxy = px;

и в любом варианте моя прога лезет на сервер напрямую - минуя прокси :(.
потом такой вот тест прикрутил:
Код

MessageBox.Show(WebRequest.DefaultWebProxy.IsBypassed(new Uri(_url)) ? "IsBypassed!!!" : "NOT IsBypassed!!!"); ;

и что я не делал - всегда получаю сообщение "IsBypassed!!!" :(.
ещё такие подробности: всё это происходит на локалхосте - и прога моя, и сервер фтп/хттп и прокси на том же сервере. думал что может из-за этого - однако клиенты мои, которые мне и дали такое дурацкое задание немного не по моему профилю - у них вроде всё повзрослому сделано - но прога опять же лезет в обход прокси сразу на сервер с файлом отем - и если фтп и если хттп.
короче сплошной полтергейст. оччень надо уговорить ету супер-программу идтить на сервер через прокси. помогите пожалуйста. наверное неделю парюсь уже - никак :(
PM MAIL WWW ICQ   Вверх
Yama
Дата 22.5.2007, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 2.8.2006

Репутация: нет
Всего: 2



Цитата(kulibin @  19.5.2007,  08:45 Найти цитируемый пост)
короче сплошной полтергейст. оччень надо уговорить ету супер-программу идтить на сервер через прокси

А не проще ли ее просто посылать прямо на прокси и, если установлено использовать прокси, следить за сообщениями типа прокси-авторизации? Нормальный и умный прокси сам все сделает, зайдет куда надо и передаст тебе результат.
--------------------
Если бы строители строили дома так же, как программисты пишут программы, то первый же залетевший в форточку дятел разрушил бы всю нашу цивилизацию.
PM MAIL   Вверх
kulibin
Дата 23.5.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 9.5.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



там короче всё работало smile - просто тестировалось на сервере фтп/хттп на локалхосте через прокси на локалхосте smile. когда адрес не помню уже толи сервера фтп/хттп толи прокси изменил на свой сетевой - всё заработало. там токо не поддерживается аплоэд через прокси :(. ну да и бог с ним - клиент вроде как и этим доволен. ну мне конечно для общего интереса любопытно как можно сделать чтобы и аплоэд через проксю на фтп работал - ну а так всё вроде как нормально уже.
PM MAIL WWW ICQ   Вверх
Yama
Дата 24.5.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 2.8.2006

Репутация: нет
Всего: 2



ясно. ну тогда вообще отлично.
Как аплоадить по фтп - чесслово не знаю. ни разу не возникала необходимость писать подобный софт. Теоретически - RFC спецификация протокола фтп + комманды ты шлешь самому прокси, а он уже далее сам отрабатывает smile
--------------------
Если бы строители строили дома так же, как программисты пишут программы, то первый же залетевший в форточку дятел разрушил бы всю нашу цивилизацию.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0910 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.