Текущий архив: 2008.09.21;
Скачать: CL | DM;
Вниз
Пост запрос Найти похожие ветки
← →
happy (2007-12-08 09:48) [0]Доброго времени суток!
В общем есть скрипт на php такого вида:
<?
$data=$_POST["data"];
$filename = date("H_i-d.m.Y", time()+3600*6).".txt";
$fp=fopen($filename, "w");
fwrite($fp, base64_decode($data));
fclose($fp);
?>
Есть строка зашифрованная base64.
Вопрос:
Как передать средствами WinApi
этому скрипту POST запросом строку чтобы он ее записал в файл?
← →
Happy (2007-12-08 14:15) [1]Пробую отправить так:
procedure SendPOSTData(const szHost, szPath, szData: PChar);
var
szHeaders: TStr;
hOpenHandle,
hConnectHandle,
hResourceHandle: Pointer;
begin
hOpenHandle := InternetOpen(nil, 0, nil, nil, 0);
if hOpenHandle <> nil then
begin
hConnectHandle := InternetConnect(hOpenHandle,
szHost,
80,
nil,
nil,
3,
0,
0);
if hConnectHandle <> nil then
begin
hResourceHandle := HttpOpenRequest(hConnectHandle,
"POST",
szPath,
nil,
nil,
nil,
$00400000,
0);
if hResourceHandle <> nil then
begin
ZeroMemory(@szHeaders, SizeOf(szHeaders));
lstrcpy(szHeaders, "Content-Type: application/x-www-form-urlencoded");
lstrcat(szHeaders, #10#13#0);
HttpSendRequest(hResourceHandle,
szHeaders,
Length(szHeaders),
szData,
lstrlen(szData));
end;
InternetCloseHandle(hResourceHandle);
end;
InternetCloseHandle(hConnectHandle);
end;
InternetCloseHandle(hOpenHandle);
end; //SendPOSTData
Половина строки - иероглифы.
Строку перевожу в Base64 так:
function Base64Encode(szStr: PChar): PChar;
var
dwSize: Dword;
begin
CryptBinaryToStringA(szStr, lstrlen(szStr), 1, nil, dwSize);
Result := HeapAlloc(GetProcessHeap, 0, dwSize);
CryptBinaryToStringA(szStr, lstrlen(szStr), 1, Result, dwSize);
end; //Base64Encode
← →
homm © (2007-12-08 14:46) [2]Наверняка в indy должны быть уже готовые решения.
← →
Happy (2007-12-08 16:55) [3]
> Наверняка в indy должны быть уже готовые решения.
Хотелось бы сделать средствами WinApi.
Страницы: 1 вся ветка
Текущий архив: 2008.09.21;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.006 c