簡體   English   中英

如何在Delphi中為Indy添加“ Authorization = Bearer”標頭?

[英]How to add a “Authorization=Bearer” header with Indy in Delphi?

我正在嘗試使用access_token進行POST請求,並且使用POSTMAN可以正常工作,但是當我嘗試在Delphi上執行相同的請求時,我找不到添加“ Authorization = Bearer eyxxxxxx ... ,就像POSTMAN一樣。

POSTMAN請求(運行良好):

POST / somepath HTTP / 1.1
主持人:someurl.com.br
授權:Bearer eyJhbGciOiJSUzI1NiJ9 .....
內容類型:application / json

(省略身體內容)

由Delphi生成的Indy請求,由HTTP分析器捕獲(總是返回401 Forbidden錯誤,因為缺少“ Authorization = Bearer”部分):

POST / somepath HTTP / 1.1
主持人:someurl.com.br
內容類型:application / json

(省略身體內容)

我嘗試使用下面的代碼添加標頭,但是在請求中未生成標有“ Authorization = Bearer eyxxxxxx ...”的標頭部分,並返回401 Forbidden錯誤。

FIdHTTP.Request.CustomHeaders.FoldLines := False;
FIdHTTP.Request.CustomHeaders.Add('Authorization=Bearer ' + txtToken.Text);

剛發現問題。 我在“授權”和“承擔者”兩個詞之間添加了錯誤的分隔符。

錯誤:

FIdHTTP.Request.CustomHeaders.FoldLines := False;
FIdHTTP.Request.CustomHeaders.Add('Authorization=Bearer ' + txtToken.Text);

正確:

FIdHTTP.Request.CustomHeaders.FoldLines := False;
FIdHTTP.Request.CustomHeaders.Add('Authorization:Bearer ' + txtToken.Text);

用':'替換'='之后,我收到了預期的響應,就像POSTMAN收到的一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM