我正在尝试使用Rad Studio Xe10.1使用以下Delphi代码连接到Google Cloud IoT。当我尝试执行时,出现以下错误:
禁止使用HTTP / 1.1 403
可能是什么问题?我试图按照Google的说明进行连接。
我尝试了curl(来自Windows的Git),它适用于相同的JWT(JSON网络令牌)和相同的URL。
curl -H "authorization: Bearer $JWT" -H "cache-control: no-cache" $sURL
其中$JWT
是我生成的JWT,$sURL
是我的物联网项目的URL。
Try
httpResponse := '';
HTTP := TidHTTP.Create(Application);
with HTTP do
begin
IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(Nil);
Request.CustomHeaders.FoldLines := False;
Request.CustomHeaders.AddValue('authorization', 'Bearer '+jwt);
//Request.CustomHeaders.AddValue('content-type', 'application/json');
Request.CustomHeaders.AddValue('cache-control', 'no-cache');
httpResponse := Get(sURL);
end;
except
on E: Exception do
ShowMessage(E.Message);
end;
Finally
Memo.Lines.Add(httpResponse);
End;