• Anatoly Podgoretsky © (11.11.06 16:34) [20]
    > guav  (11.11.2006 16:12:15)  [15]

    C прокси у тебя постоянные проблемы.
    Работа с прокси сделано просто, если параметры заполнены, то они присваиваются соответствующим свойствам TWSocket никаких действий
    по работе с прокси не делается, сообственно присваивается во всех случаев, без анализа.
  • Anatoly Podgoretsky © (11.11.06 16:40) [21]
    > guav  (11.11.2006 16:31:18)  [18]

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

    procedure TDM.DataModuleDestroy(Sender: TObject);
    begin
     SaveConfigToRegistry;
    end;


  • Anatoly Podgoretsky © (11.11.06 16:41) [22]
    > guav  (11.11.2006 16:32:19)  [19]

    Ты пиши свои замечания, я прислушиваюсь и применяю их.
    Это не в холостую.
  • GuAV © (11.11.06 17:02) [23]
    > Anatoly Podgoretsky  (11.11.2006 16:41:22)  [22]

    > [22] Anatoly Podgoretsky ©   (11.11.06 16:41)

    А толку, уже сейчас видно,
    что даже когда сеpвер будет
    полностью отлажен,
    некоторые проблемы не
    могут быть разрешены.
    Похоже что идеально может
    работать только клиент,
    который ничего не делает,
    т.е. не преобразует
    информацию в другую форму
    (это DMClient и MF).


    > C прокси у тебя постоянные
    проблемы.

    У меня проблемы не с прокси
    а с нормальным доступом
    без прокси, мне вообще
    прокси не нужны.
  • guav © (11.11.06 17:09) [24]
    > [23] GuAV ©   (11.11.06 17:02)


    ну вот. формат хтмл сам прописывается, при этом текстовая версия кодируется в QP и строки сильно короткими получаются :-( с "нативными" ньюзгрупами - ни какое сравнение.

    может стоит попробовать текстовый формат (убрать форматирование, зато лучше совместимость будет).
  • Anatoly Podgoretsky © (11.11.06 20:26) [25]
    > guav  (11.11.2006 17:09:24)  [24]

    text/html и другие форматы не используются, только text/plain

    Форматирования также нет, все форматирует человек и новостной клиент,
    с моей стороны только добавляется ссылка на цитату.
    И сделано также сохранение пустых строк, сервер их режет.
    Кетмар подсказал как сделать.

    Я тоже удивляюсь, почему у тебя короткие строки, возможно в настройках клиента указана маленькая величина, для ОЕ это
    "Автоматический перенос текста на ### знаков при переносе", в документации данный факт отмечен.

    Некоторые характеристики HTML используются и в текстовой части сообщения.
    Желательно клиента настроить одинаково для текстовых и HTML сообщений.
  • Anatoly Podgoretsky © (11.11.06 20:41) [26]
    > guav  (11.11.2006 16:32:19)  [19]

    Я прислушался к твоей рекомендации, не в чистом виде, не в моем виде, а просто сделал процедуру инициализации глобальных переменных самой первой строчкой в программе, а из процедуры чтения из реестра убрал. Так более управляемая программа получилась. В чтение из реестра оставил только проверку на наличие параметра. Кроме того прошелся по всей программе и удалил где еще остались конструкции if KeyExist и заменил на абсолютное OpenKey('', True) если где то и оставались не созданые ключи, то теперь они будут создавать в обязательном порядке без анализа.

    Весь текст одна строка! Посылаю в Base64
  • GuAV © (11.11.06 21:46) [27]
    > Anatoly Podgoretsky  (11.11.2006 20:41:26)  [26]

    Вот это уже base64, тут много буков, но я всё же надеюсь, что обойдёмся без переносов. Кстати, как насчёт совместимости base64 с другими NNTP ? И как сделать чтобы в ответе на сообщение, которое в формате HTML, всё равно был использован текстовый формат ?
     "Anatoly Podgoretsky" <=?Utf-8?B?QW5hdG9seSBQb2Rnb3JldHNreQ==?=> сообщил/сообщила в новостях следующее: news:1163197855.26@delphimaster.ru...
     Anatoly Podgoretsky © (11.11.2006 20:41) [26]
     > guav  (11.11.2006 16:32:19)  [19]

     Я прислушался к твоей рекомендации, не в чистом виде, не в моем виде, а просто сделал процедуру инициализации глобальных переменных самой первой строчкой в программе, а из процедуры чтения из реестра убрал. Так более управляемая программа получилась. В чтение из реестра оставил только проверку на наличие параметра. Кроме того прошелся по всей программе и удалил где еще остались конструкции if KeyExist и заменил на абсолютное OpenKey('', True) если где то и оставались не созданые ключи, то теперь они будут создавать в обязательном порядке без анализа.

     Весь текст одна строка! Посылаю в Base64
    яяяя5мm=ЄняM4яM5э5 Ѕ9oэОиM?
  • GuAV © (11.11.06 21:56) [28]
    > GuAV  (11.11.2006 21:46:27)  [27]

    "яяяя5мm=ЄняM4яM5э5 Ѕ9oэОиM?"
    Я не знаю откуда это, могу предъявить сообщение из ОЕ, но оно большоеяяяя5мm=ЄняM4яM4чэ5 Ѕ9Џх ozр]?
  • guav © (11.11.06 22:00) [29]
    > [28] GuAV ©   (11.11.06 21:56)


    вот это не очень большое, привожу

    From: "guav" <noemail@nowhere.bv>
    Newsgroups: Magazine
    References: <1163197855.@delphimaster.ru> <1163197855.27@delphimaster.ru>
    Subject: Re: APC
    Date: Sat, 11 Nov 2006 20:58:14 +0200
    Lines: 26
    MIME-Version: 1.0
    Content-Type: multipart/alternative;
    boundary="----=_NextPart_000_0009_01C705D4.1C2968F0"
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: Microsoft Outlook Express 6.00.2900.2869
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962

    This is a multi-part message in MIME format.

    ------=_NextPart_000_0009_01C705D4.1C2968F0
    Content-Type: text/plain;
    charset="windows-1251"
    Content-Transfer-Encoding: base64

    Iv////817G09qu3/TTT/TTUD/TUgvTkPb/0PzgHoTT8iDQrfIO3lIOft4P4g7vLq8+TgIP3y7iwg
    7O7j8yDv8OXk+v/i6PL8IPHu7uH55e3o5SDo5yDOxSwg7e4g7u3uIOHu6/z47uU=

    ------=_NextPart_000_0009_01C705D4.1C2968F0
    Content-Type: text/html;
    charset="windows-1251"
    Content-Transfer-Encoding: base64

    PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv
    L0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVu
    dD0idGV4dC9odG1sOyBjaGFyc2V0PXdpbmRvd3MtMTI1MSI+DQo8TUVUQSBjb250ZW50PSJNU0hU
    TUwgNi4wMC4yOTAwLjI5NjMiIG5hbWU9R0VORVJBVE9SPg0KPFNUWUxFPjwvU1RZTEU+DQo8L0hF
    QUQ+DQo8Qk9EWSBiZ0NvbG9yPSNmZmZmZmY+DQo8RElWPiL/////NextPart/000/001A/01IL05
    D2/9D84B6E0/IjwvRElWPg0KPERJVj7fIO3lIOft4P4g7vLq8+TgIP3y7iwg7O7j8yDv8OXk+v/i
    6PL8IPHu7uH55e3o5SDo5yDOxSwg7e4g7u3uIA0K4e7r/Pju5TwvRElWPjwvQk9EWT48L0hUTUw+
    DQo=

    ------=_NextPart_000_0009_01C705D4.1C2968F0--

  • guav © (11.11.06 22:28) [30]
    "яяяя5мm=ЄняM4яM4чэ5 Ѕ9Џх ozр]?"

    Ошибка ясна. Декодируется:
    Iv////817G09qu3/TTT/TTUD/TUgvTkPb/0PzgHoTT8iDQrfIO3lIOft4P4g7vLq8+TgIP3y7iwg
    7O7j8yDv8OXk+v/i6PL8IPHu7uH55e3o5SDo5yDOxSwg7e4g7u3uIOHu6/z47uU=

    ------=_NextPart_000_0009_01C705D4.1C2968F0


    , тода как должно
    Iv////817G09qu3/TTT/TTUD/TUgvTkPb/0PzgHoTT8iDQrfIO3lIOft4P4g7vLq8+TgIP3y7iwg
    7O7j8yDv8OXk+v/i6PL8IPHu7uH55e3o5SDo5yDOxSwg7e4g7u3uIOHu6/z47uU=

  • Anatoly Podgoretsky © (11.11.06 22:53) [31]
    > GuAV  (11.11.2006 21:46:27)  [27]

    Это уже ошибка Outlook Express, в списке сообщений показывает правильно, а при ответе забывает раскодировать, но если ты про мой клиент, то это абсолютно не мешает, если подпись сделана по правилам, сморти ранее про два тире. Работа в этом случае простая нажимает ответить, набиваем текст, нажимаем послать. Ничего удалять не надо.

    Насчет совместимости с другими NNTP это очень сложный вопрос, каждый сам по себе, обязаны следовать стандарту, но так не всегда. Если про клиентов, то их еще больше (некоторые ничего кроме простого текста не понимают). Но мой сервер принимает во многих форматах и его задача преобразовать в plain text 1251 и поместить это в поля веб формы для публикации, и для него не требуется ни переводить в текстовый, не требуется устанавливать особую кодировку, без разницы какая упаковка, все сожрет. Поэтому и пришлось потратить столько времени, чуть более месяца и половина срока ушла на это. Потому что сервер и первая команда HELP заработали спустя два часа после скачивания компонента. Команда POST это особая команда - если остальным достаточно одного обработчика, то данной их потребовалось 11. Она очень разнообразна по форматам, при том в одном сообщение и даже в одной строке могут быть разные форматы, например в заголовке From.
    У меня осталось еще одна проблема, которую не решить, по стандарту пробел должен преобразовывать или в +, или %20, или в =20 - но Микрософт почему то решила преобразовывать в символ подчеркивания и теперь их не различить.

    По поводу длин строк, я не имел в виду это "яяяя5мm=ЄняM4яM5э5 Ѕ9oэОиM?", как раз с этим полный порядок, я имел ввиду реальные строки сообщения, например предыдущий абзац это одна строка, но она будет разбита на множество, кроме случая с Base64 - это ограничение стандарта, который требует/рекомендует разбивать строки примерно по 72 символа, поскольку не все сервера умеют работать, к Base64 это не относится, поскольку текст кодируется, потом передается строками по 72 символа, на приеме раскодируется и объединяется. В случае простого текста это не так, и в случае с QP тоже, там свои ошибки.

    Мой сервер написан по RFC это было настольной книгой.
  • Anatoly Podgoretsky © (11.11.06 22:55) [32]
    > GuAV  (11.11.2006 21:56:28)  [28]

    Я ничего не могу сказать вне контекста и без знания клиента и его особенностей, я хорошо изучил повадки OE за последнии 10 лет и то не все удается сделать, но это похоже на UTF-8
  • guav © (11.11.06 23:01) [33]
    > [31] Anatoly Podgoretsky ©   (11.11.06 22:53)

    "яяяя5мm=ЄняM4яM4чэ5 Ѕ9Џх ozр]?" - это IMO Ваша ошибка.
    по [29] видно, что сообщение закодировано правильно, в [30] я даже показал откуда оно взялось.
    Ещё раз:

    Взяли то, что надо:
    Iv////817G09qu3/TTT/TTUD/TUgvTkPb/0PzgHoTT8iDQrfIO3lIOft4P4g7vLq8+TgIP3y7iwg
    7O7j8yDv8OXk+v/i6PL8IPHu7uH55e3o5SDo5yDOxSwg7e4g7u3uIOHu6/z47uU=


    Это раскодируется как
    "яяяя5мm=ЄняM4яM5э5 Ѕ9oэОиM?"
    Я не знаю откуда это, могу предъявить сообщение из ОЕ, но оно большое



    Взяли то, что надо и ещё лишнее захватили:
    Iv////817G09qu3/TTT/TTUD/TUgvTkPb/0PzgHoTT8iDQrfIO3lIOft4P4g7vLq8+TgIP3y7iwg
    7O7j8yDv8OXk+v/i6PL8IPHu7uH55e3o5SDo5yDOxSwg7e4g7u3uIOHu6/z47uU=

    ------=_NextPart_000_0009_01C705D4.1C2968F0


    Это раскодируется как
    "яяяя5мm=ЄняM4яM5э5 Ѕ9oэОиM?"
    Я не знаю откуда это, могу предъявить сообщение из ОЕ, но оно большоеяяяя5мm=ЄняM4яM4чэ5 Ѕ9Џх ozр]?

  • Anatoly Podgoretsky © (11.11.06 23:07) [34]
    > guav  (11.11.2006 22:00:29)  [29]

    From: "guav" <noemail@nowhere.bv>
    Newsgroups: Magazine
    References: <1163197855.@delphimaster.ru> <1163197855.27@delphimaster.ru>
    Subject: Re: APC
    Date: Sat, 11 Nov 2006 20:58:14 +0200
    Lines: 26
    MIME-Version: 1.0
    Content-Type: multipart/alternative;
    boundary="----=_NextPart_000_0009_01C705D4.1C2968F0"
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: Microsoft Outlook Express 6.00.2900.2869
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962

    This is a multi-part message in MIME format.

    ------=_NextPart_000_0009_01C705D4.1C2968F0
    Content-Type: text/plain;
    charset="windows-1251"
    Content-Transfer-Encoding: base64

    Iv////817G09qu3/TTT/TTUD/TUgvTkPb/0PzgHoTT8iDQrfIO3lIOft4P4g7vLq8+TgIP3y7iwg
    7O7j8yDv8OXk+v/i6PL8IPHu7uH55e3o5SDo5yDOxSwg7e4g7u3uIOHu6/z47uU=

    Будет использована только эта часть, здесь текст в Base64 он будет раскодирован, остальные части, включая первую псевдо часть будут игнорированы. После раскодирования будет проверено на линию отреза (два отдельно стоящих тире) и отброшено все дальше начиная с них. Поскольку кодировка 1251 то перекодировать не потребутся.

    Из заголовков будут использованы From: и поскольку noemail то емайл не будет публиковать на форуме, от слова "guav" будут отрезаны двойные кавычки и оставшее будет вставлено в поле Логин (но поскольку у тебя есть анкета), то эта информация использоваться не будет, а будет использоваться информация AUTHINFO
    Включи в настройках показ Before process request и показ информационных сообщений, тогда увидишь это в логе

    Заголовок Newsgroups: будет использован для определения в какую группу посылать ответ/сообщение

    References: будет использовано по назначению для ссылки

    Subject: ну тут все в порядке, тоже потребовал усилий из-за своей многообразности

    boundary= будет использовано для определения границ частей

    Content-Type: text/plain;
    charset="windows-1251"
    Content-Transfer-Encoding: base64

    Эти заголовки будут использованы при приеме части, для перекодировки и распаковки. Содержимое данной части будет использовано для публикации на форуме.

    Большего по этому образцу сказать нельзя, но он и так законченый.
  • guav © (11.11.06 23:09) [35]
    > [32] Anatoly Podgoretsky ©   (11.11.06 22:55)

    Это ОЕ. Ошибка в АРС. Он неверно выделяет из "multi-part message" часть text/plain.
    Программеров убеждать сложнее, чем пользователей :-)


    > Iv////817G09qu3/TTT/TTUD/TUgvTkPb/0PzgHoTT8iDQrfIO3lIOft4P4g7vLq8+TgIP3y7
    > iwg
    > 7O7j8yDv8OXk+v/i6PL8IPHu7uH55e3o5SDo5yDOxSwg7e4g7u3uIOHu6/z47uU=
    >
    > Будет использована только эта часть, здесь текст в Base64
    > он будет раскодирован, остальные части, включая первую псевдо
    > часть будут игнорированы.

    Если бы так. Использована эта часть (выделено Ж):

    ------=_NextPart_000_0009_01C705D4.1C2968F0
    Content-Type: text/plain;
    charset="windows-1251"
    Content-Transfer-Encoding: base64

    Iv////817G09qu3/TTT/TTUD/TUgvTkPb/0PzgHoTT8iDQrfIO3lIOft4P4g7vLq8+TgIP3y7iwg
    7O7j8yDv8OXk+v/i6PL8IPHu7uH55e3o5SDo5yDOxSwg7e4g7u3uIOHu6/z47uU=

    ------=_NextPart_000_0009_01C705D4.1C2968F0
    Content-Type: text/html;
    charset="windows-1251"

  • Anatoly Podgoretsky © (11.11.06 23:09) [36]
    > guav  (11.11.2006 22:28:30)  [30]

    Не очень понял, они одинаковые у тебя, но могу предположить из предыдущего сообщения, что здесь кодировка UTF-8 тогда как в заголовках сообщения указано 1251
  • guav © (11.11.06 23:11) [37]
    > [36] Anatoly Podgoretsky ©   (11.11.06 23:09)

    АРС. Захватывает. ------=_NextPart_000_0009_01C705D4.1C2968F0 . При. Декодировании.
    UTF8 нет.
  • guav © (11.11.06 23:12) [38]
    воспроизведите сами - напишите в формате ХТМЛ без границы подписи --
  • Anatoly Podgoretsky © (11.11.06 23:14) [39]
    > guav  (11.11.2006 23:01:33)  [33]

    Если хочешь, то можешь сохранить сообщение из папки Отосланные как *.nws и послать мне на адрес apc@podgoretsky.com я посмотрю, может чего и увижу

    Но они же у тебя одинаковые

    Iv////817G09qu3/TTT/TTUD/TUgvTkPb/0PzgHoTT8iDQrfIO3lIOft4P4g7vLq8+TgIP3y7iwg
    7O7j8yDv8OXk+v/i6PL8IPHu7uH55e3o5SDo5yDOxSwg7e4g7u3uIOHu6/z47uU=

    Это раскодируется как
    "яяяя5мm=ЄняM4яM5э5 Ѕ9oэОиM?"
    Я не знаю откуда это, могу предъявить сообщение из ОЕ, но оно большое

    Взяли то, что надо и ещё лишнее захватили:
    Iv////817G09qu3/TTT/TTUD/TUgvTkPb/0PzgHoTT8iDQrfIO3lIOft4P4g7vLq8+TgIP3y7iwg
    7O7j8yDv8OXk+v/i6PL8IPHu7uH55e3o5SDo5yDOxSwg7e4g7u3uIOHu6/z47uU=
Есть новые Нет новых   [134427   +34][b:0][p:0.002]