Author: h.mohri
日程: |
2018年3月15日(木)10:00~18:00 (9:30 受付開始) |
場所: |
UDX GALLERY NEXT(東京・秋葉原) |
https://community.embarcadero.com/blogs/entry/h-t-t-p-protocol-related-improvements-in-delphi-10-2-2
HTTPクライアントライブラリの新機能により、プロトコルと標準のサポートの点で柔軟性とオプションが提供されます。
Table of Contents
安全なプロトコルのサポート
セキュリティプロトコルの改善されました。
HTTP要求に対して必要なセキュリティプロトコル(TLS1.1、TLS1.2など)を指定することができませんでしたが、新たに
SSL2、SSL3、TLS1、TLS11、TLS12の値を持つ列挙型THTTPSecureProtocolを追加しました。
THTTPClientおよび関連するクラスは、その列挙体に基づいたセットであるSecureProtocolsプロパティを持つようになりました。
SecureProtocolsプロパティは、使用するセキュリティプロトコルを制御し、現在Windows用にのみ実装されています。
https://quality.embarcadero.com/browse/RSP-18713 の品質ポータルでリクエストされました。
HTTPリダイレクトの改善
また、HTTPクライアントライブラリのリダイレクト処理方法も改善されています。 新しいRedirectsWithGETプロパティがあり、今回は次の列挙に基づいて別のオプションセットを提供しています。
THTTPRedirectWithGET = (Post301, Post302, Post303, Post307, Post308, Put301, Put302, Put303, Put307, Put308, Delete301, Delete302, Delete303, Delete307, Delete308);
このプロパティは、GETメソッドを使用してリダイレクトする必要があるリクエストメソッドとレスポンスステータスを制御します。
https://quality.embarcadero.com/browse/RSP-14671など、QPのいくつかのエントリで報告されました。
新しいTRESTClientイベントOnNeedClientCertおよびOnAuthEventの追加
これらのイベントは、HTTPClientの対応するイベントに対応し、現在はより高いレベルのサーフェスです。
TRESTClient.OnNeedClientCertificate: TNeedClientCertificateEvent TRESTClient.OnAuthEvent: TCredentialAuthEvent
https://quality.embarcadero.com/browse/RSP-15857 の品質ポータルでリクエストされました。
MIME Name Helper
私たちは、TEncodingサポートに関数を追加しました。エンコーディングMIME Nameを返します。
1 |
<span class="k" style="font-weight:bold;">function</span> <span class="nf" style="color:#990000;font-weight:bold;">GetEncodingMimeName</span><span class="p">(</span><span class="n">AEncoding</span><span class="o" style="font-weight:bold;">:</span> <span class="n">TEncoding</span><span class="p">)</span><span class="o" style="font-weight:bold;">:</span> <span class="k" style="font-weight:bold;">string</span><span class="o" style="font-weight:bold;">;</span> |
TIniFile動作の変更
これはまったくHTTPとは無関係ですが、10.2.2でTIniFileの変更が行われました。 Iniファイルの動作はプラットフォーム固有であり、プラットフォームに依存しませんでしたがWindowsでは、TIniFile.ReadStringはKeyパラメータの大文字と小文字を無視します。 Linuxでは、ReadString呼び出しで大文字と小文字が区別され、コードと設定ファイルの移行時に問題が発生しました。
デフォルトでは、TIniFileのコンテンツ構造(実際の値ではありません)は、サポートされているすべてのプラットフォームで大文字と小文字を区別しない方法で処理されます。
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition