Автоматический upload данных по Internet

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2drain bamage,
то есть без strcpy, strlen строковые константы в _send() ну никак передать нельзя .. ты прям как лепсик зажигаешь
1) можно.
2) ты ничего не понял. это не программа. это код для leonid, в учебных целях (хотя и работающий). А так, ты что серьёзно думаешь, что запрос (в данном случае) вообще необходимо "дробить" на 10 _send.
Достаточно одного _send всей строки целиком. И в реальной задаче это будет вовсе не строковая константа. :D
ты видать про WinInet только в msdn читал. я тебе по секрету скажу, что это тааааакой crap, что рассматривать его для хоть сколько-нибудь продакшен кода не серьезно.
Ну, да мсдн читал. Верно. Только кто тебе сказал, что я собираюсь использовать WinInet (если б это была моей задачей, а не leonid-а) ? Я недвусмыленно пропостил, что писать надо на сокетах. Неужели не улавливаешь разницы между WinInet и WinSock? Этож разное. Ну да, в моих мостингах закралась маленькая поддержка мнения Marmota. Ну и что? Поддержка поддержкой, а в данной задаче я высказался ясно - писать надо на гольных сокетах.
... скажи мне честно, хочется тебе, зная про такие баги, пользоваться встроенным SSL'ем ? или чем либо еще встроенным for that matter)
1) А что ты в моём постинге вообще нашёл "встроенного". printf что ли?

2) Ты похоже ничего непонял про аутинтификацию, о которой я постил, или не писал никогда для клиента прокси-сервера, который требует от клиента локальной сети аутинтифицироваться для использования туннеля прокси (может устанавливаться, как для исходящих запросов, так и входящих. вданном случае речь о входящих). Посмотри rfc http 1.1 - Proxy-Authorization:. Это не имеет вообще никакого отношения к шифрованию, туннелированию. :wink:

3) сразу говорю, что в вопросах крипто - я ноль. Поэтому ничего обсуждать не стану. Кстати, крипто в РФ запрещено программерам использовать, см. УК, ГК. Скажу только одно про крипто, SSL, и т.п.
Если действительно возникает необходимость защитить инфу, то в интернете видел, что существу вроде другие более надёжные решения. К сожалению не разбираюсь. Однако, хочу обратить твоё внимание на то, что в задаче leonid-a (так, как она была поставлена - очень частная задача) козе баян вообще не нужен. В задаче leonid-a вполне можно обойтись симметричным шифрованием (симметричными ключами). Хрен, кто расшифрует. Дёшево и сердито. Если будешь говорить, мол, фу, как низко летаете, то скажу, что так работает, например, DSSAgent. А задачи, кстати, похожие. :D Знаешь, или помнишь про это? :D
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2Marmot,
Чегой-то я не понял, а как этот код будет проходить через NTLM?
А вдруг у меня логи сверхсекретные и мне захочется их по SSL передать?
В Java (да и в WinInet) достаточно написать https и ... вобщем-то всё
1) И я в Вашем постинге не понял про NTLM. Я постил, про механизм аутинтификации на прокси пользователем для создания соединения. К SSL и шифрованию не имеет никакого отношения. Если админами прокси установлена обязательная аутентификация, а Вы либо её игнорируете в запросе http, либо используете не тот метод атинтификации, который использует прокси-сервер, то, желая получить с www страничку, Вы получите отлуп. Короче говоря, это то, что пользователь вводит в окошечке USER, PASS, когда юзает, например, IE, который подсобачен к сквиду.

2) А про "А вдруг у меня логи ....." - не знаю. Не балуюсь.
Аватара пользователя
Marmot
Графоман
Сообщения: 38347
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Canyon Heights
Контактная информация:

Сообщение Marmot »

Ок, похоже, пора закрывать это ветку...
leonid, у вас ещё вопросы будут?
Eсли нет, тогда я, пожалуй, воспользуюсь своими правами :-)
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2Marmot,

Кстати, drain bamage всё правильно говорит о багах, а иногда и просто хроническом гиморе могутных библиотек M$. Причём, чем более могутная библиотека, тем больше траблов там. И про версии он правильно постил.

А аутинтификацию - это всё равно придётся учитывать leonid-y для его программы. Хорошо, если у кастомеров сквид, или NAT. Если у кастомеров прокси M$, то гимора будет - "будьте-нате". Точно Вам говорю. Там такое, такое .... особенно в ISA Server. Короче полный идиотизм. А если ещё домены безопасности W2k - то вообще только держись. :D И это, кстати только потому, что, вы не поверите, все изделия M$ идеально заточены для изделий M$, имхо, конечно. Для хттп - точно. Например, opera, установленная на рабочей станции вместо IE даже работает, не поверите, по другому с ISA или MSProxy. :lol: Это судя по логам. :lol: Вообще ни в какие ворота. Блин.
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

leonid, у вас ещё вопросы будут?
коммунист, председатель парткома :D :D :D Прям перед глазами всё это стоит :D :D :D
Аватара пользователя
Marmot
Графоман
Сообщения: 38347
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Canyon Heights
Контактная информация:

Сообщение Marmot »

Эх, не выдержал я, уж очень момент подходящий за Java сказать :-)
vg писал(а):2Marmot,

Кстати, drain bamage всё правильно говорит о багах, а иногда и просто хроническом гиморе могутных библиотек M$. Причём, чем более могутная библиотека, тем больше траблов там. И про версии он правильно постил.
Вот, вот, а если использовать open-source, как предлагаю я, то если упёрся в баг, то его и пофиксить можно...
vg писал(а): А аутинтификацию - это всё равно придётся учитывать leonid-y для его программы.
Насчёт authentication, proxy, NTLM etc. для HttpClient, я там ссылочку давал, всё можно делать, добавив к тому коду, что я запостил, 5-7 строчек...
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

Marmot писал(а):Эх, не выдержал я, уж очень момент подходящий за Java сказать :-)
vg писал(а):2Marmot,

Кстати, drain bamage всё правильно говорит о багах, а иногда и просто хроническом гиморе могутных библиотек M$. Причём, чем более могутная библиотека, тем больше траблов там. И про версии он правильно постил.
Вот, вот, а если использовать open-source, как предлагаю я, то если упёрся в баг, то его и пофиксить можно...
с каких это пор java - open source ? особенно с учетом вот этого

кстати о птичках - при всей моей любви к open source и свободному творчеству (я сам такой :)), качество и профессионализм исполнения среднего open source пакета - ниже среднего. к примеру тот же openssl: libcrypto - нормальная, ssl имплементация - хоть выбрасывай. даже если там и найти и изолировать баг, пофиксить его иногда в принципе невозможно ... так что наличие сорцов - это гуд, но не далеко панацея
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2Marmot,
Насчёт authentication, proxy, NTLM etc. для HttpClient, я там ссылочку давал, всё можно делать, добавив к тому коду, что я запостил, 5-7 строчек...
Виноват, сразу не посмотрел. Действительно есть. А тогда, а чего в Java нет? :D
SS
Частый Гость
Сообщения: 13
Зарегистрирован: 25 фев 2004, 20:47

Сообщение SS »

Во блин! Каких то 2 дней меня тут не было, а уже нафлеймили! :lol:

Теперь ответы на вопросы:
1) Из пушки по мухам - это заставлять клиента ставить .NET Virtual Machine или ту же JVM специально для этой задачки.
2) В языках типа Java или .NET не так удобно работать со строками (да, знаю я про Apache RegExp, так по моему, а ты его пробовал?). В данном случае я считаю что обе эти платформы несколько не к месту т.к. это "тяжёлая артиллерия" для более тяжёлых задач.
3) Perl можно вообще то включить в состав своего дистрибутива, потом просто распаковать его куда-нибудь, прописать в %PATH%, и пользуйся на здоровье! При этом ничего он не держит в регистре винды, всё у себя.
4) Решение на С++ вполне подходяще, можно пользовать его на ура! Только не заставляйте меня ставить ЕЩЁ что нибудь для этого (пример: чтобы поставить MS Office, предварительно не забудь поставить Service Pack-и, ну и разумеется IE!!![какое отношение IE имеет к офису, уто нибудь знает?]).[/trn]
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2SS,

Заранее извиняюсь, если скажу какую-нибудь чушь. Ниже просто моё мнение. Вообщем-то и где-то дилетанта.
1) Из пушки по мухам - это заставлять клиента ставить .NET Virtual Machine или ту же JVM специально для этой задачки.
Совершенно верное замечание в общем случае. Но, если говорить о кастомерах leonida, то, насколько я его понял, в каждой кастомерской компании фирма leonid будет установливать свой бокс с W2kProf. Так он туда и зальёт всё, что нужно, заранее. Кстати, вопрос можно былоб задать leonidy: "А зачем, собственно, в контексте обсуждаемой задачи ставить W2kProf у кастомеров?". Это ж какие бабки. При этом всё растёт пропорционально числу кастомерских копманий. Вполне можно былоб FreeBSD-бокс поставить с самбой. Тогда б кастомеры-юзвери сливали статистику на FreeBSD по 139, ну, а фря дальше в инет.
2) В языках типа Java или .NET не так удобно работать со строками (да, знаю я про Apache RegExp, так по моему, а ты его пробовал?). В данном случае я считаю что обе эти платформы несколько не к месту т.к. это "тяжёлая артиллерия" для более тяжёлых задач.
Ну, не очень понятно, если честно. В С со строками ведь вообще руками придётся (если на голых сокетах). В С++ - проще. Вернее очень просто. Просто "складываем" строки. Однако придётся использовать из "встроенных" средств, например, класс CString (от M$). Там строки можно просто "складывать", как в бейсике или дельфи. Работать с этим классом легко, но это тянет за собой MFC, чего вообще хотелось бы избежать. В BCB++ (Borland) есть очень удобный класс String, однако тянет за собой ещё больший гимор - vcl (кстати не понятно, почему). Поэтому, работать-то со строками можно весьма комфортно, но и в том, и другом случае за удобство придётся платить, думаю.
4) Решение на С++ вполне подходяще, можно пользовать его на ура! Только не заставляйте меня ставить ЕЩЁ что нибудь для этого (пример: чтобы поставить MS Office, предварительно не забудь поставить Service Pack-и, ну и разумеется IE!!![какое отношение IE имеет к офису, уто нибудь знает?]).[/trn]
Да ты прав. Порой существует просто шаманская взаимосвязь приложений M$, которая с трудом поддаётся сколь-нибудь логическому обяснению. Ты не поверишь, но иногда возможность нормально запускать приложения на W2kProf зависит даже от такой фигни, как наличие "переключалки клавиатуры" от Office XP. :(
SS
Частый Гость
Сообщения: 13
Зарегистрирован: 25 фев 2004, 20:47

Сообщение SS »

vg писал(а):Но, если говорить о кастомерах leonida, то, насколько я его понял, в каждой кастомерской компании фирма leonid будет установливать свой бокс с W2kProf. Так он туда и зальёт всё, что нужно, заранее. Кстати, вопрос можно былоб задать leonidy: "А зачем, собственно, в контексте обсуждаемой задачи ставить W2kProf у кастомеров?". Это ж какие бабки. При этом всё растёт пропорционально числу кастомерских копманий.
[trn]Naskol'ko mne izvestno, postavka vin-2k ne vklyuchaet v sebya [/trn].NET[trn] mashinu (kak i [/trn]Kava[trn] mashinu). Chto znachit ee nado tuda stavit'. Takoj variant priemlem esli sam soft kuplennyj kontoroj napisan na [/trn].NET/Java[trn], a esli net?[/trn]
Ну, не очень понятно, если честно. В С со строками ведь вообще руками придётся (если на голых сокетах). В С++ - проще. Вернее очень просто. Просто "складываем" строки. Однако придётся использовать из "встроенных" средств, например, класс CString (от M$). Там строки можно просто "складывать", как в бейсике или дельфи. Работать с этим классом легко, но это тянет за собой MFC, чего вообще хотелось бы избежать. В BCB++ (Borland) есть очень удобный класс String, однако тянет за собой ещё больший гимор - vcl (кстати не понятно, почему). Поэтому, работать-то со строками можно весьма комфортно, но и в том, и другом случае за удобство придётся платить, думаю.
[trn] Ne sovsem tak, v S++ mozhno pol'zovat'sya klassom [/trn]String, [trn] kotoryj vhodit v sostav [/trn]Standard Template Library (STL). [trn]Pri wtom nikakih bibliotek tipa MFC ili VCL ne tyanetsya hvostom, i platit' nichego ne nado.[/trn]
4) Решение на С++ вполне подходяще, можно пользовать его на ура! Только не заставляйте меня ставить ЕЩЁ что нибудь для этого (пример: чтобы поставить MS Office, предварительно не забудь поставить Service Pack-и, ну и разумеется IE!!![какое отношение IE имеет к офису, уто нибудь знает?]).[/trn]
PS: VG, [trn]poprobuj kak nibud' na dosuge popisat' razbor logov na perle, pochuvstvuesh' ego prelest' v takih zadachah. I eshe, esli kogda libo pisal [/trn]shell scrpt[trn]-y v BSD, to wto sil'no pohozhe na perl. Dobavit' mne poka nechego, probuj![/trn]
vg
Маньяк
Сообщения: 2803
Зарегистрирован: 29 май 2003, 22:29
Откуда: Магадан - Миссиссага

Сообщение vg »

2SS,
Насколько мне известно, поставка вин-2к не включает в себя .NET машину
Разумеется - не включает. Есть мнение (сам не проверял), что приложение .NET работают и в W2k, без .NET-машины. Не знаю. Имеется ввиду код сделанный не в шарп, а C. Что там происходит не знаю. Возможно просто товарищи описАлись, имеея ввиду VC7.0. Знаю только, что приложения .NET используют proxy в своём коде, который позволяет легко выполнять (с некоторой потерей производительности) unmanaged-код. Вот это я пробовал. Работает. Но пробовал на компе, где установлен .NET.
Не совсем так, в С++ можно пользоваться классом String, который входит в состав Standard Template Library (STL). При этом никаких библиотек типа МФЦ или ВЦЛ не тянется хвостом, и платить ничего не надо.
Имелось ввиду именно СString MFC (очень популярно у многих программеров. хотя профи не используют. я не профи, поэтому использую :D ). А в части класса String при использованиее BCB++ - забавно: вроде как и не является частью vcl, но без подержки в проекте vcl - у меня не работало :shock: . Скажу честно, даж не разбирался почему? Кстати, на этом форуме есть очень хороший спец по всему, что связано с Borland - Lepsik. Думаю, он мог бы пролить свет, на происходящее. Мне всё-таки кажется, что сделав дистрибутив, где используется String можно увитедить там уеву хучу разных .bpl, .cpl :D Проверить легко
попробуй как нибудь на досуге пописать разбор логов на перле, почувствуешь его прелесть в таких задачах
Тёмный я, и перла не знаю. :D
И еше, если когда либо писал shell scrpt-ы в БСД, то это сильно похоже на перл.
Совсем простые писал. На уровне джуниора. Например, нечто вроде:

Код: Выделить всё

…
fwcmd="/sbin/ipfw"
…
${fwcmd} -f flush
…
rule_num=1000
pass () { rule_num=$(($rule_num+10)); ${fwcmd} add $rule_num pass $*; }
deny () { rule_num=$(($rule_num+10)); ${fwcmd} add $rule_num deny $*; }
…
#****************************************************************
# Mail MSExchange tcp ports for rpc clients
#
#	1). 135, 389, 1026 - rpc,ldap.
#	2). 2026 - NTDS for Exchange2000 clients.
#	3). 2027 - MSExchangeSA.
#	4). 2028 - MSExchangeIS.
#	5). 2029 - MSExchangeDSAccess.
#	6). 2030 - MSExchangeDSAccess (DSProxy NSPI port).
#
#******************************************************
mail_rpc_ports="135,389,1026,2026,2027,2028,2029,2030"
…
# Procedures *******************************************************
…
# Setup MsExchange Rpc Clients **************************************
ExchangeRpcClient () {
        net=$1
	pass tcp from $mail $mail_rpc_ports to $net established
	pass udp from $mail $client_ports to $net $client_ports

	pass tcp from $net $client_ports to $mail $mail_rpc_ports
	pass udp from $net $client_ports to $mail $client_ports
}
…
# Run Procedures *******************************************************
…
ExchangeRpcClient $net2
…
deny log all from any to any
Это похоже на перл?
SS
Частый Гость
Сообщения: 13
Зарегистрирован: 25 фев 2004, 20:47

Сообщение SS »

vg писал(а): Имелось ввиду именно СString MFC (очень популярно у многих программеров. хотя профи не используют. я не профи, поэтому использую :D ). А в части класса String при использованиее BCB++ - забавно: вроде как и не является частью vcl, но без подержки в проекте vcl - у меня не работало :shock: . Скажу честно, даж не разбирался почему?
[trn]Pro [/trn]CString[trn] ya znayu, sam byvalo pol'zovalsya, osobenno po nachalu. No tut ya govoril pro [/trn]string[trn], poprobuj posmotret' v MSDN-e. Navodka: idet vmeste s [/trn]basic_string
vg писал(а):Тёмный я, и перла не знаю. :D
[trn]Nikogda ne pozdno poprobovat'. [/trn]:lol:
vg писал(а):Это похоже на перл?

[trn]Net, ne ochen'.[/trn] 8)
Ответить