Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> способы подключения к интернет через Proxy 
:(
    Опции темы
dipsy
Дата 23.10.2006, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 13.1.2005
Где: Нижний Новгород

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



в Java не разбираюсь.

Пытаюсь получить содержимое файла http://www.cbr.ru/scripts/XML_daily.asp в программе.

читаю в книге, там пишут, что если вы хотите работать с прокси сервером, то вам необходимо создавать сокеты (кстати, что это пока не понял). И описан способ создания:
Код

Socket l_Socket    = new Socket( new Proxy(Proxy.Type.HTTP, new InetSocketAddress( "socks.domain.com", 8080 )) );


что имеется в виду под "socks.domain.com" ?

я пробовал подставлять IP адрес, пробовал подставлять www.cbr.ru, - результат один - Invalid Proxy.

посмотрел по инету и нашёл способ такой подключения:
Код

        System.getProperties().put( "proxySet", "true" );
        System.getProperties().put( "proxyHost","192.168.18.1" );
        System.getProperties().put( "proxyPort", "8080" );        

        URL l_test    = new URL("http://www.cbr.ru/scripts/XML_daily.asp");

        BufferedReader br    = new BufferedReader( new InputStreamReader(l_test.openStream()));
        String line = null;
        while ((line = br.readLine()) != null )
            System.out.println(line);
        br.close();

после запуска в консоли я увидел содержимое файла.
думаю, может автор книги что напутал?
далее смотрю на пост http://forum.vingrad.ru/index.php?showtopi...st&p=866114

пробовал, сделать так, как там описано:
Код

        URL l_test    = new URL("http://www.cbr.ru/scripts/XML_daily.asp");
        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("192.168.18.1", 8080));
        HttpURLConnection connection = (HttpURLConnection) l_test.openConnection(proxy);

после запуска получаю надпись Exception in tread (не знаю, как перевести) и далее идёт несколько строк текста, видимо с названиями классов. Рядом с каждым из них подпись "Unknown Source".

по-моему, автор книги, которую я читаю и автор сообщения, на которое я ссылаюсь, имели в виду один и тот же способ подключения. но я с ним так и не разобрался. Потому вопрос, как этим пользоваться и в каких случаях надо использовать эти способы?
PM MAIL WWW   Вверх
batigoal
Дата 23.10.2006, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

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



Цитата(dipsy @  23.10.2006,  13:41 Найти цитируемый пост)
думаю, может автор книги что напутал?

Я вроде таким же способом подключался, все было нормально.

Цитата(dipsy @  23.10.2006,  13:41 Найти цитируемый пост)
после запуска в консоли я увидел содержимое файла.

А при запуске из браузера - все нормально?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
dipsy
Дата 23.10.2006, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 13.1.2005
Где: Нижний Новгород

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



у меня в консоль всё должно выводиться:
Цитата(dipsy @  23.10.2006,  12:41 Найти цитируемый пост)
 
Код

       while ((line = br.readLine()) != null )
            System.out.println(line);

Цитата(batigoal @  23.10.2006,  13:06 Найти цитируемый пост)
А при запуске из браузера - все нормально? 

не понимаю, при чём тут браузер. это же не аплет, чтобы его в браузере запускать. или я не въезжаю в тему совсем?
PM MAIL WWW   Вверх
batigoal
Дата 23.10.2006, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

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



Цитата(dipsy @  23.10.2006,  15:27 Найти цитируемый пост)
не понимаю, при чём тут браузер. 

Что ты получаешь при заходе на страницу http://www.cbr.ru/scripts/XML_daily.asp с помощью браузера?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
COVD
Дата 23.10.2006, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



А откуда взялась проблема с прокси? Вы через прокси выходите в интернет? 

Если все что вам надо это 
Цитата

Пытаюсь получить содержимое файла http://www.cbr.ru/scripts/XML_daily.asp в программе.
, то начните с самого простого - ваш первый пример из книги, но без System.getProperties().put(...) . Во многих случаях этого достаточно. 

А сокеты вам не нужны чтобы страничку прочитать из интернета. 

Это сообщение отредактировал(а) COVD - 23.10.2006, 15:30
PM MAIL   Вверх
dipsy
Дата 23.10.2006, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 13.1.2005
Где: Нижний Новгород

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



Цитата(batigoal @  23.10.2006,  14:38 Найти цитируемый пост)
Что ты получаешь при заходе на страницу http://www.cbr.ru/scripts/XML_daily.asp с помощью браузера? 

xml файл с курсами валют.

Цитата(COVD @  23.10.2006,  15:26 Найти цитируемый пост)
Вы через прокси выходите в интернет? 

да

Цитата(COVD @  23.10.2006,  15:26 Найти цитируемый пост)
А откуда взялась проблема с прокси?

тут проблема не совсем с прокси, - то есть метод, когда я пишу:
Цитата(dipsy @  23.10.2006,  12:41 Найти цитируемый пост)
 
Код

       System.getProperties().put( "proxySet", "true" );
        System.getProperties().put( "proxyHost","192.168.18.1" );
        System.getProperties().put( "proxyPort", "8080" );    

позволяет получить содержимое страницы.

Цитата(COVD @  23.10.2006,  15:26 Найти цитируемый пост)
то начните с самого простого - ваш первый пример из книги, но без System.getProperties().put(...) . Во многих случаях этого достаточно.

а вот пример из книги как раз у меня не работает. и System.getProperties().put(...) я взял с (адрес уже не помню) интернет-страницы.

Добавлено @ 17:08 
(в смысле, что  System.getProperties().put(...) вообще к книге не имеет отношения)
PM MAIL WWW   Вверх
COVD
Дата 23.10.2006, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Цитата

тут проблема не совсем с прокси


Мне ни разу не приходилось в java указывать параметры прокси, хотя прокси у нас есть.
PM MAIL   Вверх
batigoal
Дата 23.10.2006, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

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



Цитата(dipsy @  23.10.2006,  18:07 Найти цитируемый пост)
xml файл с курсами валют.

Ну тогда вот это
Цитата(dipsy @  23.10.2006,  13:41 Найти цитируемый пост)
после запуска в консоли я увидел содержимое файла.

и есть правильное поведение. Или я чего-то не уловил?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
dipsy
Дата 23.10.2006, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 13.1.2005
Где: Нижний Новгород

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



Цитата(batigoal @  23.10.2006,  21:35 Найти цитируемый пост)
и есть правильное поведение. 

да, так.

понимаю так, что есть несколько способов подключения к интернету. я увидел два из них. один под моим руководством не хочет работать.
в каком случае какой из способов нужно использовать? как использовать способ с
Цитата(dipsy @  23.10.2006,  12:41 Найти цитируемый пост)
Код

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("192.168.18.1", 8080));


PM MAIL WWW   Вверх
dipsy
Дата 24.10.2006, 07:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 13.1.2005
Где: Нижний Новгород

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



Цитата(COVD @  23.10.2006,  21:01 Найти цитируемый пост)
Мне ни разу не приходилось в java указывать параметры прокси, хотя прокси у нас есть. 

Можно пример подключения?
PM MAIL WWW   Вверх
Metal_Heart
Дата 24.10.2006, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

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



Цитата(dipsy @ 24.10.2006,  07:52)
Цитата(COVD @  23.10.2006,  21:01 Найти цитируемый пост)
Мне ни разу не приходилось в java указывать параметры прокси, хотя прокси у нас есть. 

Можно пример подключения?

Присоединяюсь к вопросу, ибо такое решение мне тоже не помешало бы иметь


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
COVD
Дата 24.10.2006, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Ничего нового я вам не покажу. Вот, например, как на серверной стороне я вывожу в консоль html страничку:

Код

import java.io.*;
import java.net.*;
public class Main {
  public static void main(String[] args) {
        try {
          URL url = new URL("http://www.cbr.ru/scripts/XML_daily.asp");
          BufferedReader data = new BufferedReader(
              new InputStreamReader(url.openStream()));

          String line = null;
          while((line = data.readLine()) != null){
           System.err.println(line);
          }
        }
        catch (IOException ex) {
          ex.printStackTrace();
        }
  }
}


У меня на рабочем компьютере работает, а он подключен к интернету через прокси.



Это сообщение отредактировал(а) COVD - 24.10.2006, 16:01
PM MAIL   Вверх
Metal_Heart
Дата 24.10.2006, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

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



COVD, что-то мне подсказывает, что ты этим обязан админам, а не Java


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
COVD
Дата 24.10.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 11
Всего: 43



Цитата

COVD, что-то мне подсказывает, что ты этим обязан админам, а не Java


Очевидно. 

Вот цитата с другого форума:

Цитата

> Properties sysProps = System.getProperties();
> sysProps.put( "proxySet", "true" );
> sysProps.put( "proxyHost", "192.168.211.17");
> sysProps.put( "proxyPort", "80" );

These property names are obsolete. proxySet does nothing, and for
proxyHost and proxyPort you should really use http.proxyHost and
http.proxyPort respectively.


попробуйте вместо "proxyHost" и  "proxyPort" поставить  "http.proxyHost" и "http.proxyPort ", а "proxySet" можно и не указывать.

Это сообщение отредактировал(а) COVD - 24.10.2006, 17:40
PM MAIL   Вверх
LSD
Дата 25.10.2006, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



Вот такой способ у меня работает. И по мне он предпочтителней установок system properties.
Код
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("192.168.70.241", 80));
URL url = new URL("http://google.com/");
HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy);
InputStream in = connection.getInputStream();
FileOutputStream out = new FileOutputStream("C:\\google.com.html");
byte[] buffer = new byte[64 * 1024];
int read;
while((read = in.read(buffer)) != -1)
  out.write(buffer, 0, read);
out.close();
connection.disconnect();


Цитата(dipsy @  23.10.2006,  13:41 Найти цитируемый пост)
после запуска получаю надпись Exception in tread (не знаю, как перевести) и далее идёт несколько строк текста, видимо с названиями классов. Рядом с каждым из них подпись "Unknown Source".

Выложи сюда StackTrace.



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Metal_Heart
Дата 25.10.2006, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

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



LSD, хороший пример! Спасибо!


--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
dipsy
Дата 30.10.2006, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 13.1.2005
Где: Нижний Новгород

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



Цитата(LSD @  25.10.2006,  10:55 Найти цитируемый пост)
Вот такой способ у меня работает.

Скопировал ваш код, у меня тоже теперь работает.

но мне всё равно не понятно, зачем нужны два разных способа подключения к интернету.
первый
Код
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("192.168.70.241", 80));

второй
Цитата(dipsy @  23.10.2006,  12:41 Найти цитируемый пост)
Код

        System.getProperties().put( "proxyHost","192.168.18.1" );
        System.getProperties().put( "proxyPort", "8080" );

PM MAIL WWW   Вверх
LSD
Дата 30.10.2006, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



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


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
dipsy
Дата 30.10.2006, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 13.1.2005
Где: Нижний Новгород

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



Цитата(LSD @  30.10.2006,  13:03 Найти цитируемый пост)
задавать настройки по умолчанию

в смысле настройки Java - меняю настройки в одной программе - меняется во всех?
PM MAIL WWW   Вверх
LSD
Дата 30.10.2006, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



Цитата(dipsy @  30.10.2006,  14:30 Найти цитируемый пост)
в смысле настройки Java - меняю настройки в одной программе - меняется во всех?

Когда ты выполняешь System.setProperty() изменения касаются, только этой JVM. Глобальные настройки можно изменить например с помощью апплета в Панели управления Windows.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
KOp4iK
Дата 9.11.2006, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 26.11.2004
Где: Латвия

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



Цитата

Вот такой способ у меня работает. И по мне он предпочтителней установок system properties.

Код

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("192.168.70.241", 80));
URL url = new URL("http://google.com/");
HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy);
InputStream in = connection.getInputStream();
FileOutputStream out = new FileOutputStream("C:\\google.com.html");
byte[] buffer = new byte[64 * 1024];
int read;
while((read = in.read(buffer)) != -1)
    out.write(buffer, 0, read);
out.close();
connection.disconnect();



Уважаемый LSD, не подскажите как ваш код нужно доделать чтоб можно было коннектиться к серверам требующим логин И пароль

Вот такой вот подход:
Код

Authenticator.setDefault(new MyAuthenticator(m_username, m_password));

final class MyAuthenticator extends Authenticator {
    private final String username;
    private final String pass;

    MyAuthenticator(final String username, final String pass) {
        this.pass = pass;
        this.username = username;
    }

    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(username, pass.toCharArray());
    }
}


как-то меня смущает smile 
PM MAIL   Вверх
Metal_Heart
Дата 10.11.2006, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а почему бы и нет?
**


Профиль
Группа: Участник
Сообщений: 728
Регистрация: 31.3.2005
Где: Москва

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



KOp4iK, а что бы тебе не запрашивать эту инфу у самого пользователя?
 и подставить их вместо:
Код

        this.pass = pass;
        this.username = username;



--------------------
 не стыдно учиться, а стыдно не учиться 
PM ICQ   Вверх
LSD
Дата 10.11.2006, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



Цитата(KOp4iK @ 9.11.2006,  14:14)
Уважаемый LSD, не подскажите как ваш код нужно доделать чтоб можно было коннектиться к серверам требующим логин И пароль

Вот такой вот подход:
Код

Authenticator.setDefault(new MyAuthenticator(m_username, m_password));

final class MyAuthenticator extends Authenticator {
    private final String username;
    private final String pass;

    MyAuthenticator(final String username, final String pass) {
        this.pass = pass;
        this.username = username;
    }

    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(username, pass.toCharArray());
    }
}


как-то меня смущает smile

А чем именно он смущает? Не работает?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
KOp4iK
Дата 10.11.2006, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 26.11.2004
Где: Латвия

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



Цитата

KOp4iK, а что бы тебе не запрашивать эту инфу у самого пользователя?
 и подставить их вместо:

Да хоть 
Код

final class MyAuthenticator extends Authenticator {
    MyAuthenticator() {}

    protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication("username", "pass".toCharArray());
    }
}

Я не всё согласен лиш бы работало!!!
Цитата

А чем именно он смущает? Не работает? 

АГА... правда есть мнение, что не правильно настроили прокси smile  

Мож кто знает стабильную SOCKS v5 проксю с авторизацией?
PM MAIL   Вверх
LSD
Дата 10.11.2006, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



К сожалению проверить этот код не могут, т.к. наш прокси сервер не требует аутентификации.

Попробуй проверить работу прокси сторонней программой, например qip - он умеет работать через SOCKS прокси.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

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


 




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


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

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