掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
HttpSendRequestで、POST送信のエラーを解消したい (ID:43078)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
いつもお世話になっております。 Wininet を使って、POST送信しようと下記のコーディングをしましたが、HttpSendRequestで、エラーを起こしてしまします。どなたか問題点をご指摘・ご指導いただけませんでしょうか。 Delphi4 WinXPと聊かふ古い環境です。よろしくお願い致します。 unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, WinInet, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var hNet,hURL,hRequest: HINTERNET; Buffer :array [0..1023] of Char; ReadCount :Cardinal; HtmlStr :string; TimeOut: integer; begin hNet :=InternetOpen(nil, INTERNET_OPEN_TYPE_PRECONFIG,nil, nil, 0); if Assigned(hNet) then begin try hURL := InternetConnect(hNet,PChar('http://www.xxxxx.com'),INTERNET_DEFAULT_HTTP_PORT,nil,nil,INTERNET_SERVICE_HTTP,0,DWORD(0)); //http://www.xxxxx.comは、適宜変更 if(hURL<>nil) then begin Memo1.Lines.Add('Connect_OK'); hRequest := HttpOpenRequest(hURL, PChar('POST'), PChar('/xxxxx/index.html'),'HTTP/1.0',PChar(''), nil, INTERNET_FLAG_RELOAD,0); ///xxxxx/index.htmlは、適宜変更 end; if(hRequest<>nil) then begin Memo1.Lines.Add('Open_Request_OK'); TimeOut := 60 * 1000; if(InternetSetOption(hNet, INTERNET_OPTION_RECEIVE_TIMEOUT, @TimeOut,SizeOf(TimeOut))) then Memo1.Lines.Add('Set_TimeOut_OK') else Memo1.Lines.Add('Set_TimeOut_Error'); if(HttpSendRequest(hRequest,nil , 0, PChar('?para1=TEST'), strlen(PChar('?para1=TEST')))) then Memo1.Lines.Add('Send_OK') else Memo1.Lines.Add('Send_Error'); //ここで、エラーになってしまう。 end; while true do begin InternetReadFile(hRequest, @Buffer, Sizeof(Buffer), ReadCount); //URLハンドルを元にBufferに読み込む(ファイル最後まで繰り返す) if ReadCount = 0 then Break; //ファイルの最後までいったら抜ける HtmlStr :=HtmlStr +string(Buffer); end; Memo1.Lines.Add(HtmlStr); InternetCloseHandle(hNet); except ShowMessage('error'); end end; end; end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.