使用TIdHTTP的HTTP / 1.1 400错误请求(HTTP/1.1 400 Bad Request using TIdHTTP)
我有这个代码从Microsoft Azure DataMarket获取访问令牌,产生错误EIdHTTPProtocolException HTTP/1.1 400 Bad Request :
procedure TADTranslator.GetAccessToken(); var HTTP1: TIdHTTP; ParamList: TStringList; Result: String; begin ParamList := TStringList.Create; HTTP1 := TIdHTTP.Create; try HTTP1.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(HTTP1); HTTP1.HandleRedirects := True; //Result := HTTP1.Post('https://datamarket.accesscontrol.windows.net/v2/OAuth2-13', ParamList); Result := HTTP1.Get('https://datamarket.accesscontrol.windows.net/v2/OAuth2-13'); FLangAccessToken := Result; finally HTTP1.Free; ParamList.Free; end; end;请帮帮我。 我究竟做错了什么?
I have this code to get access token from the Microsoft Azure DataMarket that produces the error EIdHTTPProtocolException HTTP/1.1 400 Bad Request:
procedure TADTranslator.GetAccessToken(); var HTTP1: TIdHTTP; ParamList: TStringList; Result: String; begin ParamList := TStringList.Create; HTTP1 := TIdHTTP.Create; try HTTP1.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(HTTP1); HTTP1.HandleRedirects := True; //Result := HTTP1.Post('https://datamarket.accesscontrol.windows.net/v2/OAuth2-13', ParamList); Result := HTTP1.Get('https://datamarket.accesscontrol.windows.net/v2/OAuth2-13'); FLangAccessToken := Result; finally HTTP1.Free; ParamList.Free; end; end;Please help me. What am I doing wrong?
最满意答案
我想到了问题,只要你的参数错误,你就会得到这个错误。 对于故障排除非常不清楚。 我不知道这是微软的错误还是HTTP问题。 我希望有更明确的信息,例如“身份验证失败”。
I figured the problem, you will get this error whenever your parameters are wrong. Very unclear for trouble shooting. I don't know if it is Microsoft's fault or HTTP issues. I was hoping for more clear message, something like "Authentication failed".
更多推荐
发布评论