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

Вниз

POST + Delphi   Найти похожие ветки 

 
ph0sgen ©   (2006-10-25 03:44) [0]

Доброго времени суток, уважаемые мастера.

Пытаюсь отправить данные скрипту методои POST. ничего не получается.
Код:


procedure SendPOSTData(const szHost, szPath, szData: PChar);
var
 WSAData : TWSAData;
 hSock   : Integer;
 addr    : sockaddr_in;
 phe     : PHostEnt;
 szBuff  : array [0..255] of Char;

begin
 WSAStartup($0101, WSAData);
 hSock := socket(2, 1, 6);
 case hSock of -1 : Exit; end;

 addr.sin_family := 2;
 addr.sin_port   := htons(80);
 addr.sin_addr.s_addr := inet_addr(szHost);

 case addr.sin_addr.s_addr of
   -1 : begin
          phe := gethostbyname(szHost);
          case (phe = nil) of
            true : begin
                     closesocket(hSock);
                     Exit;
                   end;
          end;
          addr.sin_addr := PInAddr(phe.h_addr_list^)^;
        end;
 end;

 case connect(hSock, addr, sizeof(addr)) of
   -1 : begin
          closesocket(hSock);
          WSACleanup;
          Exit;
        end;
 end;

 lstrcpy(szBuff, "POST ");
 lstrcat(szBuff, szPath);
 lstrcat(szBuff, " HTTP/1.0"#13#10#13#10);
 lstrcat(szBuff, szData);
 lstrcat(szBuff, #13#10#13#10);

 send(hSock, szBuff, lstrlen(szBuff), 0);

 closesocket(hSock);
 WSACleanup;
end;



что я делаю не правильно?

спасибо за внимание.


 
ph0sgen ©   (2006-10-25 03:48) [1]

использую процедуру так:


SendPOSTData("some_host.com", "/script.php?param", "data1=...&data2=...&data3=...");


 
Slym ©   (2006-10-25 04:08) [2]

ничего не получается? Савсем ничего... Неповезло в жизни...
Или что конкретно не получается или код ошибки или что сервер возвращает...
На вскидку не передаешь серверу ContentLength, а они иногда на это обижаются...
Иногда требуется Host, у тебя его тоже нету


 
ph0sgen ©   (2006-10-25 05:15) [3]

спасибо. попробую.


 
ph0sgen ©   (2006-10-25 05:15) [4]

а ContentLength это общая длина?


 
Чапаев ©   (2006-10-25 10:14) [5]

Во-первых, это длина только "тела", во-вторых, #13#10 после тела передавать незачем.


 
Ketmar ©   (2006-10-25 10:54) [6]

в-третьих, никто не забыл про то, что данные обычно -- url-encoded? и соответствующий content-type?


 
Чапаев ©   (2006-10-25 15:14) [7]

> [6] Ketmar ©   (25.10.06 10:54)
Content-Type не помешает, конечно, но и критически важным его в данном случае считать не приходится.


 
Ketmar ©   (2006-10-25 15:42) [8]

>[7] Чапаев(c) 25-Oct-2006, 15:14
>критически важным его в данном случае считать не приходится.
не спорю. но лучше сразу научить, чем потом переучивать.

зыж я в CDM о нём забыл. ничего, схавало. %-)



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

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

Наверх




Память: 0.46 MB
Время: 0.039 c
2-1174954591
Wood
2007-03-27 04:16
2007.04.15
TRichEdit, свойства текста..


15-1174605154
eXPell
2007-03-23 02:12
2007.04.15
Баян (?) о "мудростях"


6-1161764071
yuriks
2006-10-25 12:14
2007.04.15
idFTP и большие файлы


2-1174458090
frogmaster
2007-03-21 09:21
2007.04.15
Ошибка (Field user must have value)


2-1174847918
Malik
2007-03-25 22:38
2007.04.15
Вопрос про форму





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