Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];

Вниз

CGI и TNMHTTP.Post   Найти похожие ветки 

 
L.eXX   (2002-03-15 00:00) [0]

Привет всем! Такая проблема: чтобы узнать мой траффик мне приходится лезть на сервер в локальной сетке, на html-страничке заполнять форму и нажимать кнопку "Получить статистику" :) Возникло естественное желание автоматизировать этот процесс. Вобщем, запрос из формы обрабатывается cgi-скриптом. Я использую метод Post компонента NMHTTP. Форма на страничке выглядит примерно так:

<form method=post action= http://info.server/user/stats.cgi>
<input type=text name=syear size=4 value="2002">
<input type=text name=smonth size=2 value="03">
<input type=text name=sday size=2 value="01">
<input type=submit name=submit value="Получить статистику"
</form>

На сколько я понимаю, запрос выглядит так:

http://info.server/user/stats.cgi?syear=2002&smonth=03&sday=01

Тогда в программе я пишу:

NMHTTP1.Post(" http://info.server/user/stats.cgi","?syear=2002&smonth=03&sday=01");

Судя по сообщениям, HTTP POST выполняется успешно.

В NMHTTP1.Body имею страничку следующего содержания:

"Статистика по траффику с ?/?/? по сегодня (14/03/2002) не найдена"

То есть получается что скрипт не получил ниодного значения переменных :( Что посоветуете?


 
L.eXX   (2002-03-20 00:54) [1]

Уважаемые мастера! :)

Может быть тогда кто-нибудь мне даст рабочий примерчик как с помощью Indy (IdHTTP или ещё чего) выполнить метод Post? а то сам компонент я скачал, а help к нему - никак...


 
Kornet   (2002-03-20 07:36) [2]

Для начала твой вариант ( http://info.server/user/stats.cgi?syear=2002&smonth=03&sday=01) - неверный. Это пересылка данных по методу GET. В посте это должно выглядит так:
NMHTTP1.Post(" http://info.server/user/stats.cgi",PostData);
где, PostData=
"syear=2002&"+
"smonth=03&"+
"sday=01";
т.е. переменные передаются не в урле, а в теле http-запроса.


 
L.eXX   (2002-03-22 04:01) [3]

Да, попробовал я и так. Но всё-равно результат остался прежний - переменных скрипт не получил. ;-\

what the....

Интересно, а может быть этот TNMHTTP.Post вообще шлёт неправильно? Как бы проверить?


 
L.eXX   (2002-03-30 01:00) [4]

Мастера, неужели мнения иссякли? :)


 
ec   (2002-04-02 15:52) [5]

Я тоже столкнулся с такой проблемой, это кажется NMHTTP глючный,
переменную на сайт отравляю, всё ок, но информация кудато проподает


 
ec   (2002-04-02 16:02) [6]

Я писал так
NMHTTP1.Post(" http://ecsoft.japanesesword.info/addsmtp1.php",s);

где s
s:=("smtp=www.mail.ru");


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

Кто нить плиз помогите


 
Alex_LG   (2002-04-03 18:03) [7]

если мне память не изменяет, этот компонент дату просто не посылает (ошибка в коде)
лучше всего настроить его для работы через локальный прокси и посмотреть, чё он там шлёт/нешлёт


 
ec   (2002-04-05 16:46) [8]

Прикол в что другой компонент INDy делат точно такую же ошибку,отправляется пустая строка, работает только GET.


 
ec   (2002-04-11 14:35) [9]

http://www.torry.net/vcl/internet/packs/ims2d5.exe
Этот компонент исправно отсылет всю инфу, почему стандартный компонент и indy глючат - неизвестно, наверно там какая то ошибка при чём у обоих


 
Alex_LG   (2002-04-12 03:41) [10]

повторяю: эти компоненты соержат ошибку в коде
а именно: при посылке POST слишком рано закрывают сокет (или что-то там - щас уже не помню) и поэтому посылается только заголовок, а тело (дата) - не посылается
лечится очень просто: в сурсах компонентов переносится команда закрытия сокета на несколько строчек дальше
у меня тоже не работало, пока не исправил (а искать - 2 минуты)


 
Ведмедь   (2002-04-12 11:34) [11]

2 ес
Кстати, не в IDE это не работает


 
Alex_LG   (2002-04-12 22:12) [12]


> Ведмедь (12.04.02 11:34)
> 2 ес
> Кстати, не в IDE это не работает

что - ЭТО???


 
ec   (2002-04-15 15:20) [13]

Можна ещё проще сделать. СКАЧАТЬ ДРУГОЙ КОМПОНЕНТ!!!


 
ec   (2002-04-18 20:43) [14]

Это я ктому что NMHTTP И INDY НЕ ПАШУТ, возможно что Indy это вообще клон.

С помощью ims2d5 отослать удалось Постом, тока эта хрень демка и без делфи не пашет.

Ведмедь поищи бесплатный и работающий на www.delphipages.com. Я что то не могу такой найти, или они демки или не хрена не отсылает


 
Alex_LG   (2002-04-19 03:35) [15]

скейчас СПЕЦИАЛЬНО посмотрел: последний INDY всё прекрасно посылает!
INDY 9.0.3-B
http://www.nevrona.com/indy/


 
ec   (2002-04-19 14:43) [16]

У меня старыы был. Сорри если ошибся.


 
ec   (2002-04-19 14:45) [17]

У меня старый был. Сорри если ошибся.


 
AZoG   (2002-04-19 15:44) [18]

Прекрасно работает, если его использовать таким образом: NMHTTP.Post(URl, FileName)


 
ec   (2002-04-22 13:21) [19]

а в filename файле что писать ?


 
ec   (2002-04-25 13:10) [20]

Alex_LG:

Может расскажешь как посылал ? У меня всё равно не посылает.
Если можешь скинь исходник на емаил. web@japanesesword.info


 
eblade   (2002-05-08 01:31) [21]


> AZoG (19.04.02 15:44)
> Прекрасно работает, если его использовать таким образом:
> NMHTTP.Post(URl,FileName)


Действительно, AZoG прав. Если постить данные из файла (FileName - это его имя), все проходит нормально. (При этом желательно указывать NMHTTP.OutputFileMode := TRUE;)

Хотя это очень странно, что работает только в таком режиме.


 
plimut   (2002-06-21 14:30) [22]

Господа... Предположим, я хочу только посылать данные, а не
принимать обратно все многокилобайтовое барахло.
Как поступить?


 
Dimonets   (2002-06-21 20:04) [23]

Есть проблемка - как передать из делфи на сервер файл?
Те не данные методом пост или гет а именно файл, как это делает эксплорер когда обрабатывает html форму с полем <input type=file>?
Подскажите плз. И как проследить чтобы файл передался полностью?
А так же буду благодарен если посоветуете наиболее подходящий компонент для этого.
Зараннее благодарю.


 
plimut   (2002-06-25 11:01) [24]

А метод Copy компонента TNMHTTP часов не поможет?


 
plimut   (2002-06-25 11:03) [25]

хм... "часом" я хотел сказать... (Вот оно, эхо выходных...)



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.009 c
4-3672
skiph
2002-07-02 11:40
2002.09.02
DLL


3-3314
wassil
2002-08-13 16:03
2002.09.02
O Abbrevia component


3-3237
niko45
2002-08-10 21:21
2002.09.02
КАК?


3-3301
BigVova
2002-08-09 18:15
2002.09.02
Проблема с IB 6.0


3-3304
Азазелло
2002-08-13 09:00
2002.09.02
Удаленная работа с MSSQL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский