Главная страница
    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.47 MB
Время: 0.039 c
15-1174256394
Alexander Panov
2007-03-19 01:19
2007.04.15
Вакансия.


15-1174476821
Johnmen
2007-03-21 14:33
2007.04.15
Дайте код!


2-1174757676
Kolan
2007-03-24 20:34
2007.04.15
Взаимодействие объекта и его UI представления — как организовать?


15-1172733217
Сало
2007-03-01 10:13
2007.04.15
Может кому понадобится...


3-1169455673
Vlad Oshin
2007-01-22 11:47
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский