oHTTP:= TIpClientHttp():new(cURL) NÃO ESTÁ BAIXANDO ARQUIVO
Enviado: 29 Abr 2020 20:43
Não sei porque o meu código está retornando uma página web do tipo 301 Moved Permanently - The document has been permanently moved, enquanto que, deveria baixar um arquivo de texto de 1 linha.
A princípio protegí a pasta com usuário e senha e construí a URL como neste exemplo:
cURL := "http://usuario:senha@meusitedaweb.com.b ... cencas.txt"
Depois fui testar normal no raíz sem proteção de pastas nem usuário e senha:
cURL := "http://meusitedaweb.com.br/licencas.txt"
Entretanto, o problema continua.
Estou mexendo no código original para poder tornar público, dados do servidor não são reais.
No DBF tem um campo chave onde eu gravaria uma string com o CNPJ+DATA de expiração da licença de forma criptografada.
O arquivo de texto eu quero deixar numa pasta protegida com usuário e senha sem criptografia para poder controlar de forma remota facilmente. Entendo que não preciso criptografar este arquivo porque estará numa pasta protegida na web que ninguém terá acesso sem as credenciais. O arquivo deveria ter 22 caracteres em cada linha com o CNPJ+DATA das licenças.
Resolví gravar o arquivo para ver seu conteúdo, o arquivo que baixa é esse:
Código: Selecionar todos
oHTTP:= TIpClientHttp():new( cURL )cURL := "http://usuario:senha@meusitedaweb.com.b ... cencas.txt"
Depois fui testar normal no raíz sem proteção de pastas nem usuário e senha:
cURL := "http://meusitedaweb.com.br/licencas.txt"
Entretanto, o problema continua.
Estou mexendo no código original para poder tornar público, dados do servidor não são reais.
Código: Selecionar todos
IF EMPTY(UG->CHAVE)
IF oHTTP:OPEN()
cLICENCAS := oHttp:readAll()
oHTTP:CLOSE()
Memowrit( "licencas.txt", cLICENCAS )
nLICENCAS := MLCOUNT(cLICENCAS)
FOR nX=1 TO nLICENCAS
cLICENCA := MEMOLINE(cLICENCAS,,nX)
// CNPJ 14 | DATA 8
//99999999999999CC/CC/CC
cCNPJ := LEFT(cLICENCA,14)
IF cCNPJ = UG->CNPJ
cEXPIRA := RIGHT(cLICENCA,6)
dEXPIRA := CTOD(cEXPIRA)
IF DATE() >= dEXPIRA
lLICENCA := .T.
cCHAVE := cCNPJ+DTOS(dEXPIRA)
// CRIPTOGRAFA
UG->( LOCKREG())
UG->CHAVE := HB_CRYPT(cCHAVE, xSENHA) // CHAVE, C, 22
UG->( DBUNLOCK())
UG->( DBCOMMIT())
ALERT("LICENÇA VÁLIDA ATÉ: "+DTOC(dEXPIRA) )
ENDIF
EXIT
ENDIF
NEXT
IF !lLICENCA
ALERT("LICENÇA INEXISTENTE!")
QUIT
ENDIF
ELSE
ALERT("Erro de conexão:", oHttp:lastErrorMessage())
ALERT("NÃO FOI POSSÍVEL VALIDAR ESTA LICENÇA")
ENDIF
ELSE
cCHAVE := HB_DECRYPT(UG->CHAVE, xSENHA)
cEXPIRA := RIGHT(cCHAVE,8) // YYYYMMDD
cDIA := RIGHT(cEXPIRA,2)
cMES := SUBSTR(cEXPIRA,5,2)
cANO := SUBSTR(cEXPIRA,3,2)
dEXPIRA := CTOD(cDIA+"/"+cMES+"/"+cANO)
IF DATE() >= dEXPIRA
lLICENCA := .T.
ELSE
ALERT("SUA LICENÇA EXPIROU EM: "+DTOC(dEXPIRA) )
QUIT
ENDIF
ENDIF O arquivo de texto eu quero deixar numa pasta protegida com usuário e senha sem criptografia para poder controlar de forma remota facilmente. Entendo que não preciso criptografar este arquivo porque estará numa pasta protegida na web que ninguém terá acesso sem as credenciais. O arquivo deveria ter 22 caracteres em cada linha com o CNPJ+DATA das licenças.
Resolví gravar o arquivo para ver seu conteúdo, o arquivo que baixa é esse:
<!DOCTYPE html>
<html style="height:100%">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" >
<title> 301 Moved Permanently
</title></head>
<body style="color: #444; margin:0;font: normal 14px/20px Arial, Helvetica, sans-serif; height:100%; background-color: #fff;">
<div style="height:auto; min-height:100%; "> <div style="text-align: center; width:800px; margin-left: -400px; position:absolute; top: 30%; left:50%;">
<h1 style="margin:0; font-size:150px; line-height:150px; font-weight:bold;">301</h1>
<h2 style="margin-top:20px;font-size: 30px;">Moved Permanently
</h2>
<p>The document has been permanently moved.</p>
</div></div></body></html>