Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.02;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.019 c
1-3498
ЮРИЙ_К
2002-08-21 12:01
2002.09.02
Сделать недоступными некоторые Items-ы у ComboBox.


14-3593
besa
2002-08-05 17:33
2002.09.02
VisionFS 3.x под SCO Unix vare 7.01


1-3483
Yuri Btr
2002-08-20 17:53
2002.09.02
Глюк компилятора?


1-3418
Balu
2002-08-22 16:18
2002.09.02
COM наследование.


3-3308
koks
2002-08-08 17:09
2002.09.02
подскажите ламеру в IB6 :))