Quelle est la façon de faire cela avec Indy?
TIdHTTP
en Indy 10 a 2 surchargé Options()
méthodes:
procedure Options(AURL: string; AResponseContent: TStream); overload;
function Options(AURL: string
{$IFDEF STRING_IS_ANSI}; ADestEncoding: IIdTextEncoding = nil{$ENDIF}
): string; overload;
Qu'est-ce que TIdHTTP
ne pas est-propriétés natives pour les en-têtes et Origin
Access-Control-Request-...
. Cependant, vous pouvez utiliser la propriété TIdHTTP.Request.CustomHeaders
pour ceux-ci, par exemple:
FIdHttp.Request.CustomHeaders.Values['Origin'] := 'http://www.asite.com';
FIdHttp.Request.CustomHeaders.Values['Access-Control-Request-Method'] := ' POST';
FIdHttp.Request.CustomHeaders.Values['Access-Control-Request-Headers'] := 'access-control-request-method';
FIdHttp.ProtocolVersion := pv1_1;
Response := FIdHttp.Options('http://www.asite.com/MyURL/DoCmd');
or
FIdHttp.Options('http://www.asite.com/MyURL/DoCmd', AResponseContent);
Que se passera si les options ne sont pas mises en œuvre par le serveur?
Le serveur retournera probablement un code d'erreur qui TIdHTTP
soulèvera comme une exception EIdHTTPProtocolException
à moins que vous activez l'indicateur hoNoProtocolErrorException
dans la propriété TIdHTTP.HTTPOptions
.
Dans Delphi Berlin, j'ai seulement des options de procédure pour Indy. On dirait qu'avec mon serveur qui est un "serveur fait à la main": ça me pose une erreur sans message même si le journal du serveur répond aux informations pour la méthode OPTIONS –
J'ai le même problème avec TNetHTTPRequest –