TIdHttp e SSL
29/06/2012
0
na propriedade IOHandler do IdHttp quando envio o Post recebo a mensagem: Could not load SSL Library
as dll`s libeay32 e ssleay32 estão na pasta do projeto, como carrego essas danadas? procurando na internet diz que não precisa, que é carregada automaticamente mais não vai, já tentei por na System32, SysWow etc...
alguem sabe como usar o TIdHttp com SSL httpS:\\...
Obrigado desde já!
Murilo Junqueira
Post mais votado
04/07/2012
coloquei essas dlls nas outras maquinas e começou a funcionar, muito bagunçado o esquema da OpenSSL e o indy e controlar essas versões, já vi várias pessoas reclamando do problema e quando trocam dlls funciona!
mais de qualquer forma vlw, se alguem tiver o mesmo problema e já testou todas dlls me diga que eu envio as que estou utilizando!
att.
Murilo Junqueira
Mais Posts
02/07/2012
Hacson Alexandre
regsvr32 %windir%\System32\suadll.dll /s
ou
regsvr32 %windir%\SysWOW64\suadll.dll /s
02/07/2012
Murilo Junqueira
regsvr32 %windir%\System32\suadll.dll /s
ou
regsvr32 %windir%\SysWOW64\suadll.dll /s
Não deu certo, ocorre o mesmo problema, pelo que vi essas dlls não precisa ser registradas, bastariam estar no diretório da aplicação...
alguém com alguma luz no fim do túnel?
Obrigado!
02/07/2012
Hacson Alexandre
Você está tentando apenas enviar e-mail ou outra função em específico ?
02/07/2012
Murilo Junqueira
o código em C# funcionando:
string auth = Convert.ToBase64String(Encoding.UTF8.GetBytes(Token + : + Key));
client.Headers.Add(Authorization: Basic + auth);
client.Headers.Add(User-Agent: Mozilla/4.0);
byte[] ResponseArray = client.UploadData(URI, POST, Encoding.UTF8.GetBytes(XMLInstrucao));
string Response = Encoding.UTF8.GetString(ResponseArray);
xml.LoadXml(Response);
string xStatus = xml.DocumentElement.SelectSingleNode(//Resposta//Status).InnerText;
string xToken = xml.DocumentElement.SelectSingleNode(//Resposta//Token).InnerText;
=============================================== - codigo delphi
XMLResponse := TStringStream.Create();
XMLRequest := TStringStream.Create();
sl := TStringList.Create;
fsParam := TMemoryStream.Create;
DataStream := <xml></xml>
sl.Add(DataStream);
sl.SaveToStream(fsParam);
IdHTTP.IOHandler := IdSSLIOHandlerSocket1;
IdHTTP.Request.CustomHeaders.Clear;
IdHTTP.Request.Clear;
IdHTTP.Request.ContentType := text/xml;
IdHTTP.Request.CustomHeaders.Add(Authorization: Basic + xAut);
IdHTTP.Request.CustomHeaders.Add(User-Agent: Mozilla/4.0);
strProdutos := IdHTTP.Post(https://desenvolvedor.moip.com.br/sandbox/ws/alpha/EnviarInstrucao/Unica, fsParam); //<--- O ERRO É NESSA LINHA:
MResp.Lines.Add(strProdutos);
==========================================================================================
Obrigado novamente!
att.
02/07/2012
Hacson Alexandre
A variável fsparam é de que tipo ?
Tente setar como:
fsparam : TIdMultipartFormDataStream;
02/07/2012
Murilo Junqueira
e problema ai é com a diaba da dll do SSL...
o resto acho que está ok...
04/07/2012
Murilo Junqueira
em 3 outras não, mesmo aplicativo, mesma dlls etc.. copia a psta com o projeto para outra maquina
executo o exe e could not load ssl library
procurei por essas dlls em uma maquina tem instalada por outros programas em outras não...
teria como carregar essas dlls de um local especifico?
att.
08/04/2016
Carlos Borges
14/02/2017
Central A
Depois que baixei as dlls para a plataforma correta e colocar junto com o executável funcionou certo.
23/07/2019
Marcos Segundo
Ainda não testei.
Meu problema é associar o componente idhttp com o componente IdServerIOHandlerSSLOpenSSL1.
Falam para usar o IOHandler do IDHttp mas o IdServerIOHandlerSSLOpenSSL1 não aparece nas escolhas que estão em vermelho.
resumindo não tenho como associar o IdServerIOHandlerSSLOpenSSL1 ao IDHTTP para abrir conexões SSL.
Alguem tem uma DICA?
Sou novo no Delphi XE7.
Se alguém tiver um fonte ensinando como fazer o seguinte, seria bem vindo.
preciso baixar um arquivo em um link.
preciso saber o tamanho dele (onde aparece o erro ''HTTP:/1.1 302 ou IOHandler value is not valid'').
Alguém ja teve esse Problema?
Clique aqui para fazer login e interagir na Comunidade :)