вот упростил код, он ошибки не выдает, но и скрипту запрос не отправляет, в дельфи 7 всё ок (без WideChar), подскажите где ошибка?
Код | unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm} uses wininet;
procedure SendPOSTData(const szHost, szPath, szData: PWideChar); var szHeaders: PWideChar; 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,INTERNET_FLAG_KEEP_CONNECTION,0); if hResourceHandle <> nil then begin HttpSendRequest(hResourceHandle,'Content-Type: application/x-www-form-urlencoded',47,szData,lstrlen(szData)); end; InternetCloseHandle(hResourceHandle); end; InternetCloseHandle(hConnectHandle); end; InternetCloseHandle(hOpenHandle); end;
procedure TForm1.Button1Click(Sender: TObject); begin SendPOSTData('****.ru','rsc/script.php', 'age=Hello WORLD !!!!'); end;
end.
|
вот так тоже не катит(((
Код | procedure SendPOSTData(const szHost, szPath, szData: WideString); var szHeaders: WideString; hOpenHandle, hConnectHandle, hResourceHandle: Pointer; begin hOpenHandle := InternetOpen(nil, 0, nil, nil, 0); if hOpenHandle <> nil then begin hConnectHandle := InternetConnect(hOpenHandle, PWideChar(szHost),80,nil,nil,3,0,0); if hConnectHandle <> nil then begin hResourceHandle := HttpOpenRequest(hConnectHandle,'POST',PWideChar(szPath),nil,nil,nil,INTERNET_FLAG_KEEP_CONNECTION,0); if hResourceHandle <> nil then begin HttpSendRequest(hResourceHandle,'Content-Type: application/x-www-form-urlencoded',47,PWideChar(szData),lstrlen(PWideChar(szData))); end; InternetCloseHandle(hResourceHandle); end; InternetCloseHandle(hConnectHandle); end; InternetCloseHandle(hOpenHandle); end;
|
E2171 Variable 'szHost' inaccessible here due to optimization
Вот так переменные все сохраняются но всеравно НЕ РАБОТАЕТ(
Код | procedure SendPOSTData(szHost, szPath, szData: WideString); var C_CLIENT, post, headers : WideString; hOpenHandle, hConnectHandle, hResourceHandle: Pointer; begin post:='POST'; C_CLIENT :='checkurl' ; headers:='Content-Type: application/x-www-form-urlencoded';
hOpenHandle := InternetOpenW(PWideChar(C_CLIENT), PRE_CONFIG_INTERNET_ACCESS, nil, nil, 0); if hOpenHandle <> nil then begin hConnectHandle := InternetConnectW(hOpenHandle, PWideChar(szHost),80,nil,nil,3,0,0); if hConnectHandle <> nil then begin hResourceHandle := HttpOpenRequestW(hConnectHandle,PWideChar(post),PWideChar(szPath),nil,nil,nil,INTERNET_FLAG_KEEP_CONNECTION,0); if hResourceHandle <> nil then begin HttpSendRequestW(hResourceHandle,PWideChar(headers),47,PWideChar(szData),lstrlen(PWideChar(szData))); end; InternetCloseHandle(hResourceHandle); end; InternetCloseHandle(hConnectHandle); end; InternetCloseHandle(hOpenHandle); end;
|
|