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

Вниз

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

 
Delphi5.01 ©   (2004-01-10 22:58) [0]

Dobroe vrema sutok!
Pochemu IdHTTP.Post(URL, Stream, Stream) ne rabotaet, ustanovil dake apache server i proveril, ni kakie dannie ne peredautsa php skriptu, Get metod rabotaet bez otkazno mejet chtoto ne pravilno delau?
Spasibo.
P.S. privoju kratki kod

 _URL:="http://sait.com/sms.php";
 ST:="username=dsd&password=1234";

 A:=TStringStream.Create("");
 B:=TStringStream.Create("");

 ShowMessage(IntToStr(A.Write(St,Length(ST))));
 try
   idHTTP1.Post(_URL,A,B);
   ST:=B.DataString; //polucheni otvet na post
 except on E:Exception do
   ST := "$E " + E.Message;
 end;
 A.Free;
 B.Free;


 
Delphi5.01 ©   (2004-01-11 15:57) [1]

Vot i oshibku nashol no ne znau kak reshit: privoju vopros is drugogo foruma (bez otveta)

Помогите, пожалуйста!

Передо мной поставлена такая задача: Нужно из программы передать данные CGI скрипту на HTTP сервере, получть ответ в виде гипертекста и обработать его. Сначала я попробовал сделать так:
...
NMHTTP1->Get("http://имя_сервера/cgi.exe?данные");
AnsiString str=NMHTTP1->Body;
...

Но вскоре я понял, что таким образом (методом Get) можно запросить URL только ~280 символов длиной!!! Если длина больше, то строка просто обрезается! А моя программа ДОЛЖНА отправлять данные, превышающие размер в 280 символов.

Выяснив это, я попробовал проделать то же самое, используя метод Post():
NMHTTP1->Post("http://имя_сервера/cgi.exe","данные");
(и в других различных комбинациях)

Я получал либо ошибку NMHTTP: Host Not Found, либо ошибку скрипта об отсутствии параметров.

Затем я проверил сниффером, что же NMHTTP->Post() посылает и увидел, что обращение к скрипту и передача параметров происходят в двух разных пакетах! Поэтому и возникает ошибка скрипта!

И вот теперь я не знаю как мне быть!  

Если можете, подскажите где мне хотя бы найти дополнительную документацию по TNMHTTP! Встроенная справка по этому компоненту так примитивна, что лучше ее бы не было!


 
Slym ©   (2004-01-12 07:33) [2]

_URL:="http://sait.com/sms.php";
ST:="username=dsd&password=1234";

A:=TStringStream.Create("");
B:=TStringStream.Create("");

ShowMessage(IntToStr(A.Write(St,Length(ST))));
A.Position:=0;//stream end :) just rewind them
try
  idHTTP1.Post(_URL,A,B);
  ST:=B.DataString; //polucheni otvet na post
except on E:Exception do
  ST := "$E " + E.Message;
end;
A.Free;
B.Free;


 
Delphi5.01 ©   (2004-01-12 19:09) [3]

Ogromnoe spasibo za pomosh, ia uje dumal chto ne naidu pravilnogo otveta.


 
Delphi5.01 ©   (2004-01-12 20:38) [4]

K sojaleniu nichego ne izmenilos, skript tak i ne poluchaet dannie, odin iz sposobov kotori rabotaet eto:

 NMHTTP:=TNMHTTP.Create(self);
 NMHTTP.Port:=80;
 NMHTTP.Body:="index.html";
 NMHTTP.Header:="head.html";
 NMHTTP.OutputFileMode:=True;
 NMHTTP.InputFileMode:=True;
 NMHTTP.Post("http://www.sms.ge/index.php","data.txt");
 ShowMessage("Authorization done!");
 NMHTTP.Free;

esli danie schitivautsa iz tekstovogo faila



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

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

Наверх





Память: 0.45 MB
Время: 0.034 c
14-1077206434
Владислав
2004-02-19 19:00
2004.03.28
Что с любимым форумом?


4-1071231196
Talla2k
2003-12-12 15:13
2004.03.28
как скрыть программу


1-1078948644
SeriousSam
2004-03-10 22:57
2004.03.28
Как программно нажать какую либо кнопку (на клавиотуре)?


14-1077894056
syte_ser78
2004-02-27 18:00
2004.03.28
C выходными и концом зимы


14-1078219597
MsGuns
2004-03-02 12:26
2004.03.28
Всем приветик !





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский