Pesquisar na Comunidade
Showing results for tags 'idhttp'.
Encontrado 3 registros
-
Idhttp: Erro ao se conectar com o SSL.
um tópico no fórum postou Lucasmed Object Pascal - Delphi & Lazarus
Pessoal, estou tentando fazer uma requisição post para a api de BOLETOS do banco Itau. Eu consegui pegar a o accessToken utilizando o http, porém na hora de enviar o boleto, recebo a menagem de erro que enviei anexo deste post ("sslv3 alert handshake failure"). Vi em outro post, a recomendação de utilizar o Arat Synapse. Porém fiquei com dúvida de como enviar os certificados. Aqui está o meu código: http := TIdHTTP.Create(nil); ssl := TIdSSLIOHandlerSocketOpenSSL.Create(nil); params := TStringList.Create; jObject:= TJsonObject.Create(nil); // ssl.SSLOptions.SSLVersions := [sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2]; ssl.SSLOptions.CertFile := 'caminho\ARQUIVO_CERTIFICADO.crt'; ssl.SSLOptions.KeyFile := 'caminho\ARQUIVO_CHAVE_PRIVADA.key'; ssl.SSLOptions.Mode := sslmClient; // SSL.SSLOptions.Method := sslvTLSv1; // SSL.SSLOptions.Mode := sslmUnassigned; http.IOHandler := ssl; http.Request.ContentType := 'application/json'; http.Request.CustomHeaders.AddValue('x-itau-apikey', 'client_key'); http.Request.CustomHeaders.Add('Authorization:Bearer ' + token); response := http.Post(url, payStream); O código comentado, foram opções que já usei. Tentei utilizar também o TRequest. client := TRESTClient.Create(nil); certFile := TMemoryStream.Create; certFile2 := TMemoryStream.Create; try client.BaseURL := 'url'; request := TRESTRequest.Create(nil); certFile.LoadFromFile('caminho\ARQUIVO_CERTIFICADO.crt'); certFile2.LoadFromFile('caminho\ARQUIVO_CHAVE_PRIVADA.key'); try request.Client := client; request.Method := rmPOST; request.AddParameter('x-itau-apikey', 'client_key', pkHTTPHEADER); request.AddParameter('Content-Type', 'application/x-www-form-urlencoded', pkHTTPHEADER); request.AddParameter('Authorization', 'Bearer ' +token, pkHTTPHEADER); request.AddBody(certFile, TRESTContentType.ctAPPLICATION_OCTET_STREAM); request.AddBody(certFile2, TRESTContentType.ctAPPLICATION_OCTET_STREAM); request.AddBody(payload.text, TRESTContentType.ctAPPLICATION_JSON); request.Execute; response := request.Response; Se puderem dar alguma dica do que posso fazer, ficaria muito grato. -
Consumir um servço para download
um tópico no fórum postou OldProgramer Object Pascal - Delphi & Lazarus
Tenho que acessar uma base de dados que me retorna um link para baixar um PDF. É assim: "https://www.xyz.com.br/pasta/acao/venda.php?acao=ETIQUETA&id_venda=1618786257" No navegador me retorna um PDF para baixar ou abrir. Usei os componentes IdHTTP e IdSSLIOHandlerSocketOpenSSL. Tentei dessas duas maneiras e não consegui nada (onde nUrl é o mencionado acima). fileDownload := TFileStream.Create('etiqueta.pdf', fmCreate); try IdHTTP1.Get(nUrl, fileDownload); finally FreeAndNil(fileDownload); end; E assim: Response := TStringStream.Create(''); try IdHTTP1.Get(nUrl, Response); Memo1.Lines.Text := Response.DataString; except on E: EIdHTTPProtocolException do begin Memo1.Lines.Text := E.ClassName + ': '+E.Message; end; end; WBLoadHTML(Response.DataString); Response.Free; Alguém pode me dar uma mão com isso? Grato -
Erro de Retorno idHTTP [OFF TOPIC]
um tópico no fórum postou Zottis Object Pascal - Delphi & Lazarus
Pessoal, desculpem o Off Topic, mas to num dilema sem igual. aqui na empresa onde trabalho temos uma DLL desenvolvida por mim para efetuar requisições em webServices. o Caso é que em um webservice, se o resultado é OK, ele mostra o Json, senão a resposta vem vazia. Usando o SoapUi, o Json é mostrado em ambas as ocasiões. o que consegui recuperar do retorno da requisição esta abaixo. desde já agradeço qualquer ajuda. ***********************IdConnectionIntercept -Send POST /virtualage/api/v1/departmentsErpid HTTP/1.1 Content-Encoding: utf-8 Content-Type: application/json; charset=utf-8 Content-Length: 120 server_protocol: HTTP/1.1 Authorization: Bearer @@TOKEN@@ Host: www7.ciashop.com.br Accept: application/json Accept-Encoding: gzip,deflate, identity User-Agent: Mozilla/3.0 (compatible; Indy Library) ***********************IdConnectionIntercept -Send { "erpId":"6681", "parentErpId":"6661", "visible":"true", "sortOrder":1, "description":"TOALHA", "name":"TOALHA"} ***********************IdConnectionIntercept -Receive HTTP/1.1 400 Bad Request Cache-Control: no-cache Pragma: no-cache Content-Type: application/json; charset=utf-8 Expires: -1 Server: Microsoft-IIS/7.5 X-AspNet-Version: 4.0.30319 X-Powered-By: ASP.NET p3p: CP="NOI ADM DEV PSAi COM NAV OUR OTR STP IND DEM" Date: Fri, 10 Jun 2016 13:48:07 GMT ServerIP: 10.203.28.142 Transfer-Encoding: chunked Content-Encoding: gzip Vary: Accept-encoding ***********************IdConnectionIntercept -Receive bf ?<=Estou desconfiado que ele a resposta esta vindo em uma codificação diferente da utf-8