PEGAR HORA ONLINE
Olá amigos,
tenho tido alguns problemas com emissão de NFE pro problemas na Hora.
eu já utilizo um processo de sincronizar hora com o servidor local, porem em alguns clientes o servidor tbm esta com hora errada ( hora errada, data errada, horário de verão errado)
gostaria de saber se alguém sabe de algum meio de pegar hora online, assim poderei comparar com hora local e emitir um alerta que esta errada.
desde já agradeço.
tenho tido alguns problemas com emissão de NFE pro problemas na Hora.
eu já utilizo um processo de sincronizar hora com o servidor local, porem em alguns clientes o servidor tbm esta com hora errada ( hora errada, data errada, horário de verão errado)
gostaria de saber se alguém sabe de algum meio de pegar hora online, assim poderei comparar com hora local e emitir um alerta que esta errada.
desde já agradeço.
Nossos sistemas conferem uma pagina ASP no servidor web e altera no pc.
Caso se interesse posto a forma.
Caso se interesse posto a forma.
O que deveria ser feito é a sincronização com algum serviço de NTP(Network Time Protocol), que está disponÃvel gratuitamente.
kerplunk. o NTP resolveria, porem tenho que solicitar que o cliente configure seu servidor e tenho certeza que não o fará.
nilsontorres, se houver uma maneira de sincronizar ou comparar os times direto no aplicação seria bem util.
grato a todos
nilsontorres, se houver uma maneira de sincronizar ou comparar os times direto no aplicação seria bem util.
grato a todos
Então force o cliente à fazer direito. Faça com que seu sistema faça isso por ele.
Meus sistemas não busca hora de servidor interno, busca só servidor web, assim como vc quer.
caso o usuário tente alterar o horário no pc o sistema fecha e quando abre, novamente acerta o horário web.
Crie uma pagina asp tradicional simples, o sistema recebe o retorno dela.
crie uma asp suapaginaasp.asp
só com esse código.
<%response.Write Now%>
[ô]isso abaixo vc coloca ao iniciar seu sistema
AddHandler Microsoft.Win32.SystemEvents.TimeChanged, AddressOf MudouHora
Public Function ACERTA_RELOGIO() As Boolean
Dim myHttpWebRequest As HttpWebRequest = WebRequest.Create([Ô]http://www.seudominio.com.br/suapaginaasp.asp[Ô])
myHttpWebRequest.Timeout = 10000
Dim myHttpWebResponse As HttpWebResponse = myHttpWebRequest.GetResponse()
Dim recvStream As Stream = myHttpWebResponse.GetResponseStream()
[ô] le o stream no formato [Ô]utf-8[Ô]
Dim encode As Encoding = System.Text.Encoding.GetEncoding([Ô]utf-8[Ô])
Dim readStream As New StreamReader(recvStream, encode)
Dim sPagina As String = [Ô][Ô]
While (readStream.Peek() > -1)
sPagina += readStream.ReadLine() + vbCrLf
End While
[ô]Label1.Text = Format(CType(sPagina, Date), [Ô]dd/MM/yyyy HH:mm:ss[Ô])
TimeOfDay = CDate(Mid(Format(CType(sPagina, Date), [Ô]dd/MM/yyyy HH:mm:ss[Ô]), 12, 8))
Today = CDate(CDate(Mid(Format(CType(sPagina, Date), [Ô]dd/MM/yyyy HH:mm:ss[Ô]), 1, 10)))
End Function
Public Sub MudouHora(ByVal Sender As Object, ByVal e As System.EventArgs)
MsgBox([Ô]A Data e ou Horário do computador foram alterados, O sistema será fechado por medida de segurança[Ô], MsgBoxStyle.Critical, [Ô]MUDANÇA EM DATA OU HORÃRIO[Ô])
ACERTA_RELOGIO()
oCn_MYSQL.Close()
oCn_MYSQL.Dispose()
Application.Exit()
End Sub
Depois disso tente alterar a hora de seu pc.
Se alterar com o seu sistema fechado, quando ele iniciar acertara novamente, fechou o cerco, o usuário não mais tem esse poder, ou melhor, seu sistema estará seguro que não ira trabalhar com hora errada.
Não sei se mais alguém faz isso, nunca passei para ninguém, e tem sido eficiente por mais de 5 ou 6 anos.
caso o usuário tente alterar o horário no pc o sistema fecha e quando abre, novamente acerta o horário web.
Crie uma pagina asp tradicional simples, o sistema recebe o retorno dela.
crie uma asp suapaginaasp.asp
só com esse código.
<%response.Write Now%>
[ô]isso abaixo vc coloca ao iniciar seu sistema
AddHandler Microsoft.Win32.SystemEvents.TimeChanged, AddressOf MudouHora
Public Function ACERTA_RELOGIO() As Boolean
Dim myHttpWebRequest As HttpWebRequest = WebRequest.Create([Ô]http://www.seudominio.com.br/suapaginaasp.asp[Ô])
myHttpWebRequest.Timeout = 10000
Dim myHttpWebResponse As HttpWebResponse = myHttpWebRequest.GetResponse()
Dim recvStream As Stream = myHttpWebResponse.GetResponseStream()
[ô] le o stream no formato [Ô]utf-8[Ô]
Dim encode As Encoding = System.Text.Encoding.GetEncoding([Ô]utf-8[Ô])
Dim readStream As New StreamReader(recvStream, encode)
Dim sPagina As String = [Ô][Ô]
While (readStream.Peek() > -1)
sPagina += readStream.ReadLine() + vbCrLf
End While
[ô]Label1.Text = Format(CType(sPagina, Date), [Ô]dd/MM/yyyy HH:mm:ss[Ô])
TimeOfDay = CDate(Mid(Format(CType(sPagina, Date), [Ô]dd/MM/yyyy HH:mm:ss[Ô]), 12, 8))
Today = CDate(CDate(Mid(Format(CType(sPagina, Date), [Ô]dd/MM/yyyy HH:mm:ss[Ô]), 1, 10)))
End Function
Public Sub MudouHora(ByVal Sender As Object, ByVal e As System.EventArgs)
MsgBox([Ô]A Data e ou Horário do computador foram alterados, O sistema será fechado por medida de segurança[Ô], MsgBoxStyle.Critical, [Ô]MUDANÇA EM DATA OU HORÃRIO[Ô])
ACERTA_RELOGIO()
oCn_MYSQL.Close()
oCn_MYSQL.Dispose()
Application.Exit()
End Sub
Depois disso tente alterar a hora de seu pc.
Se alterar com o seu sistema fechado, quando ele iniciar acertara novamente, fechou o cerco, o usuário não mais tem esse poder, ou melhor, seu sistema estará seguro que não ira trabalhar com hora errada.
Não sei se mais alguém faz isso, nunca passei para ninguém, e tem sido eficiente por mais de 5 ou 6 anos.
Pessoal só uma dúvida e quando não tem web como vocês fazem esse tratamento.
Pergunto pois fiz esse tratamento não para alterar a data e hora do pc mais sim para meu sistema coletar e usar a data e hora do ntp usando C#.
Mas e na falta da internet, ou tentativa de burlar sistema de licenciamento de nossos sistemas controlados por data.
Pergunto pois fiz esse tratamento não para alterar a data e hora do pc mais sim para meu sistema coletar e usar a data e hora do ntp usando C#.
Mas e na falta da internet, ou tentativa de burlar sistema de licenciamento de nossos sistemas controlados por data.
Citação:Pessoal só uma dúvida e quando não tem web como vocês fazem esse tratamento.
Pergunto pois fiz esse tratamento não para alterar a data e hora do pc mais sim para meu sistema coletar e usar a data e hora do ntp usando C#.
Mas e na falta da internet, ou tentativa de burlar sistema de licenciamento de nossos sistemas controlados por data.
Caso não haja internet o sistema detecta e abre a tela de confirmação de horário pelo Usuário, esse era o sistema antigo, mas os usuários pegam vicio e dão ok no horario apresentado na tela sem olhar na verdade, por isso agora só via web. mas nesse caso a tela de confirmação é apresentada.
Tópico encerrado , respostas não são mais permitidas