Delphi/C++Builder 10.2.2におけるHTTPプロトコル関連の改善[JAPAN]

Posted by on in Programming

第35回 エンバカデロ・デベロッパーキャンプ・イン東京

日程:

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クライアントライブラリの新機能により、プロトコルと標準のサポートの点で柔軟性とオプションが提供されます。

安全なプロトコルのサポート

セキュリティプロトコルの改善されました。
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を返します。

function GetEncodingMimeName(AEncoding: TEncoding): string;

TIniFile動作の変更

これはまったくHTTPとは無関係ですが、10.2.2でTIniFileの変更が行われました。 Iniファイルの動作はプラットフォーム固有であり、プラットフォームに依存しませんでしたがWindowsでは、TIniFile.ReadStringはKeyパラメータの大文字と小文字を無視します。 Linuxでは、ReadString呼び出しで大文字と小文字が区別され、コードと設定ファイルの移行時に問題が発生しました。 
デフォルトでは、TIniFileのコンテンツ構造(実際の値ではありません)は、サポートされているすべてのプラットフォームで大文字と小文字を区別しない方法で処理されます。



About
Gold User, No rank,
Delphi / C++Builder blogger

Comments

Check out more tips and tricks in this development video: