Jump to content
Israelks

Problema com InetRead

Recommended Posts

Olá, estou tendo um problema com o InetRead, estava usando ele normalmente e me retornava o que eu queria certinho, mas desde ontem que não retorna nada! qual pode ser a possivel causa desse problema?

Local $a= InetRead("https://meuarquivoteste.weebly.com/uploads/1/1/6/8/116881805/test.txt",1)
Local $b = BinaryToString($a)
MsgBox(0,"",$b)
Edited by Israelks

Share this post


Link to post
Share on other sites

foi so um exemplo, ja mudei para o site q eu to tentando fazer a conexão, pensei que talvez o windows esteja por alguma razão bloqueando este acesso que antes funcionava e agora nao mais

Edited by Israelks

Share this post


Link to post
Share on other sites

Olha esse teste aqui:

$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET", "https://meuarquivoteste.weebly.com/uploads/1/1/6/8/116881805/test.txt", False)
$oHTTP.Send()
$oReceived = $oHTTP.ResponseText
$oStatusCode = $oHTTP.Status
MsgBox(0,"",$oReceived)

Ele retorna a informação em varios computadores diferentes que seria esta:

tiiT0XHGQKGS5BL-_wNCCA.png

 

 

mas no meu computador, ele retorna essa informação:

mRbEqD3fSKOD_YvF8Ao8Kg.png

 

o que é a mesma mensagem de erro que eu tenho quando coloco um qualquer coisa que nao seja um site no lugar onde eu coloco o site, por exemplo:

$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET", "aaaa", False)
$oHTTP.Send()
$oReceived = $oHTTP.ResponseText
$oStatusCode = $oHTTP.Status
MsgBox(0,"",$oReceived)

algum palpite sobre esse problema? preciso muito resolver isso!

 

 

@edit

 

Por alguma razão desconhecida o script está retornando a informação correta no meu computador, mas tem um computador que não funciona, e aparece este mesmo erro

Edited by Israelks

Share this post


Link to post
Share on other sites

Olá Israelks.

 

Vc mesmo comentou que no seu computador está funcionando porém em outra máquina não, isto?

 

Assumindo que o programa seja o mesmo (lógico), então é alguma coisa relacionada à internet desta máquina em particular, como um firewall ou o DNS, por exemplo.

 

Pode o firewall do Windows pode estar bloqueando o seu programa, assim não retorna nada e causa o erro. Outro motivo seria esta máquina não conseguir (ou não ter) acesso à internet (wi-fi desligada, problemas no roteador, cabo desconectado, etc). Verifique essa possibilidades antes de mexer ou modificar o programa. Também vi que vc está trabalhando com GET e talvez o provedor tenha trocado para POST, sei lá...

 

Mas relativo à programação, pessoalmente não gosto de trabalhar com as funções de Obj relacionadas ao HTTP do Windows pois ela dependem muito do Internet Explorer. Sou mais fã de usar outras funções mais independentes que eu sei que não incomodam. Principalmente porque alguma atualização (ou falta dela) pode quebrar os objetos de protocolo HTTP.

 

Gosto e recomendo a biblioteca WinHTTP da Trancexx = https://github.com/dragana-r/autoit-winhttp/releases

 

Muito parecida com a sintaxe atual, mas mais flexível e com mais opções.

Share this post


Link to post
Share on other sites

Manimal,

 

Tentei com o firewall desativado, não funcionou...

 

Poderia me ajudar a usar esta biblioteca? estou tendo dificuldades para fazer o script ler as informações no site e me apresentar em seguida

Edited by Israelks

Share this post


Link to post
Share on other sites

Olá

Os aquivos que vc tentar ler sao sempre arquivos de texto?

Se forem, pq não tenta criar um _IECreate() e usar o _IEDocReadHTML() pra pegar o source, depois só corta as arestas que sobram do texto usando stringtrim e separa só o conteúdo.
É uma abordagem mais indireta, mas creio que seja uma solução.
Eu faço isso toda hora e da certo

Edited by Lsschlieper

Share this post


Link to post
Share on other sites

Olá Lsschlieper,

 

Os arquivos são sempre textos,

 

Tentei fazer usando o _IECreate(), e o erro continua o mesmo... certeza de que o computador dele esta bloqueando este acesso, e acho que nao importa o metodo que eu usar, o computador vai continuar bloqueando... estou tentando entender o que o computador pode estar fazendo para bloquear este acesso, e tentar desativar esse bloqueio

Share this post


Link to post
Share on other sites

Olá Israelks.

 

Assumindo que a internet funciona normalmente (outros sites, navegação em geral, e-mails, etc) e que vc desativou o Firewall, ainda sobra o bloqueio de DNS.

 

Para testar mude os DNS primário e o secundário e teste novamente.

 

Verifique também o arquivo HOSTS na pasta C:\Windows\System32\Drivers\Etc, se não está redirecionando o site em questão.

 

Testei aqui usando seu código e funcionou corretamente. Então não é o código.

 

Como vc lê apenas arquivos texto (e pequenos), outro teste simples (sem entrar em bibliotecas diferentes) que pode ser feito:

Local $sArquivo = @TempDir & "\test.txt"
Local $nTamanho = InetGet("https://meuarquivoteste.weebly.com/uploads/1/1/6/8/116881805/test.txt", $sArquivo, 1)
If $nTamanho = 0 Then
   MsgBox(0, "Erro", "Arquivo nao encontrado... (ou qualquer msg de erro)")
Else
   MsgBox(0, "Info", FileRead($sArquivo))
EndIf

Share this post


Link to post
Share on other sites

Estou tentando de tudo, e nada parece funcionar... talvez eu devesse mudar o site q to usando para guardar os arquivos, alguem tem uma sugestão de um site gratuito onde eu possa hospedar arquivos de texto e outros tbm? (o weebly me permite hospedar qualquer tipo de arquivo)

Share this post


Link to post
Share on other sites

Olá Israelks.

 

Antes de mudar de hospedagem, o que é difícil de achar um gratuito, tente acessar diretamente o site através do seu navegador na máquina que está com problemas.

 

Teste bem simples. Abra o navegador, informe o endereço https://meuarquivoteste.weebly.com/uploads/1/1/6/8/116881805/test.txt e pressione enter. Deve aparecer o resultado na tela (123456789).

 

Esta é a maneira mais óbvia de testar a hospedagem.

 

Outro modo, para evitar erros de DNS é tentar pelo IP direto, digitando este endereço navegador: https://199.34.228.53/uploads/1/1/6/8/116881805/test.txt

 

Finalmente, existe a possibilidade da hospedagem não aceitar protocolo de segurança devido a erros de certificados, assim elimine o "S" do HTTP, ficando os endereços para teste assim:

 

http://meuarquivoteste.weebly.com/uploads/1/1/6/8/116881805/test.txt

 

http://199.34.228.53/uploads/1/1/6/8/116881805/test.txt

 

Acredito que um destes, provavelmente a uso de site sem segurança, deve resolver seu problema.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×