掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
広域予備率Web公表システム からCSVダウンロードしたい (ID:151012)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
標記件、広域予備率Web公表システム https://web-kohyo.occto.or.jp/kks-web-public/ の右下「CSVダウンロード」を押してファイル(zip)をダウンロードしたいのです。 このサイトをどんどんシュリンクしていって、下記htmlをローカルに作成してボタンクリックしてもダウンロードできるところまで確認できました。 --------- <html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <title>広域予備率Web公表システム</title></head> <body> <form action="https://web-kohyo.occto.or.jp/kks-web-public/home/download" target="_blank"> <input type="hidden" id="hidRange" name="range" value="today"> <input type="hidden" id="hidFromDate" name="fromDate" value="2023/07/11"> <button>CSVダウンロード</button> </form> </body></html> --------- ※Delphi 11.1です ■Button、IdSSLIOHandlerSocketOpenSSL、IdHTTP を置いて ■uses は 下記あたりを付加、 IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdURI, IdGlobal, IdIOHandler, IdIOHandlerSocket, IdIOHandlerStack, IdSSL, IdSSLOpenSSL, REST.HttpClient, IdGlobalProtocols, Web.HTTPApp; ■libeay32.dll、ssleay32.dll をEXEファイルと同じ場所に置き、 //----------------------- procedure TForm1.Button1Click(Sender: TObject); var SoapMsg: string; ResponseData: TStringStream; st: string; poststring: TStringList; res: string; begin poststring := TStringList.Create; ResponseData := TStringStream.Create('', TEncoding.UTF8); try poststring.Add('range=today'); poststring.Add('fromDate=2023/07/11'); IdHTTP1.IOHandler := IdSSLIOHandlerSocketOpenSSL1; IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvTLSv1_2; IdSSLIOHandlerSocketOpenSSL1.SSLOptions.SSLVersions := [sslvTLSv1_2]; IdHTTP1.HTTPOptions := IdHTTP1.HTTPOptions + [hoNoProtocolErrorException, hoWantProtocolErrorContent]; IdHTTP1.Request.ContentType := 'appllication/x-www-form-urlencoded'; IdHTTP1.Request.CharSet := 'utf-8'; IdHTTP1.Request.CacheControl := 'no-cache'; IdHTTP1.Request.Accept := 'text/html, */*'; IdHTTP1.Post('https://web-kohyo.occto.or.jp/kks-web-public/home/download', poststring, ResponseData); Memo1.Lines.Clear; Memo1.Lines.Add(IdHTTP1.ResponseText); // Memo1.Lines.Add('-------------------------'); // Memo1.Lines.Add(HTTPDecode(ResponseData.DataString)); finally ResponseData.Free; end; end; *************** としましたが IdHTTP1.ResponseText は HTTP/1.1 403 となります。詳しい方ご指南いただけたら幸いです。長文申し訳ありません。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.