Usuário:
Senha:
Salvar senha
 Todos os Fóruns
 Programa%E7%E3o
 Para+AleSB+-+pegar+IP

Nota: Você deve ser cadastrado para postar uma resposta.
Para se cadastrar, clique aqui .Registre-se é grátis!

Screensize:
UserName:
Password:
Formatar:
   
Mensagem:

* HTML OFF
* Código do Fórum ativo

 
Modo:
Marque para incluir sua assinatura digital.
     
TÓPICO     REVIEW
Yury olá Alessandro,

peguei o código que vc postou em:

http://www.fivewin.com.br/forum/topic.asp?TOPIC_ID=8076

compilei e está rodando, ok.

mas sempre volta o IP vazio, para qualquer site q eu coloco...

só para esclarecer:

este site que deve ser informado, é o provedor, correto ?

obrigado e um abraço


Yury Marcelino Al
vimansca@vimansca.com.br
yury030575@yahoo.com.br
skype: yury.marcelino.al
Leme / SP
FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.62

Editado por - yury on 31/05/2007 17:04:57

Ale SB Blz Yury....

Mas...acessando pelo site q eu coloquei no exemplo ...ele retornou o seu IP ?

O site...tem q ser o mesmo....do exemplo senao ele nao pega o IP, pelo menos por enquanto...

Veja bem...este exemplo...verifica o seu IP de conecçao...nao o IP dá pagina q vc esta acessando.

Vou verificar aqui c dá pra montar outro exemplo pra buscar o da do Site.

@braços Ale

Alessandro Seribeli Barreto
aleseribeli@hotmail.com
Andradina - SP
FwH 2.6, xH99.50, xMate, Pelles - FwPPC - WxWeb(Breve) - SB_Web
***
"A melhor forma de prever o futuro é criá-lo."
Peter Drucker

Yury Alessando, obrigado pela resposta...

é o que eu imaginei, pegar o IP sobre o qual eu estou conectado e não o da página...

porem com 'http://www.meuip.com.br/' não retorna...

eu entrei na página e estava lá o número do IP, porém no retorno da sua função ReadPage() o número não está contido no código html, por isso acho q ele tá voltando sempre vazio...

gravei um arquivo com o retorno da função ReadPage() e nela não contém o q vc está procurando para mostrar o IP ("IP?") :

 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
</HEAD><BODY>
<H1>ERROR</H1>
<H2>The requested URL could not be retrieved</H2>
<HR noshade size="1px">
<P>
While trying to retrieve the URL:
<A HREF="/">/</A>
<P>
The following error was encountered:
<UL>
<LI>
<STRONG>
Invalid URL
</STRONG>
</UL>

<P>
Some aspect of the requested URL is incorrect. Possible problems:
<UL>
<LI>Missing or incorrect access protocol (should be `http://'' or similar)
<LI>Missing hostname
<LI>Illegal double-escape in the URL-Path
<LI>Illegal character in hostname; underscores are not allowed
</UL>
<P>Your cache administrator is <A HREF="mailto:root">root</A>.

<BR clear="all">
<HR noshade size="1px">
<ADDRESS>
Generated Thu, 31 May 2007 20:19:58 GMT by vimanlx.viman (squid/2.5.STABLE9)
</ADDRESS>
</BODY></HTML>

um abraço


Yury Marcelino Al
vimansca@vimansca.com.br
yury030575@yahoo.com.br
skype: yury.marcelino.al
Leme / SP
FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.62

Ale SB Yuri.......acabei de acessar agora.a pagina e ela retornou sim o IP....nao alterou nada do exemplo q eu postei ???

O Link da pagina ta certo, como no Post ?

O ReadPage( cUrl )...tem q usar com este parametro

mas....de qq forma ........a noite post um outro exemplo compilado.....e vou verificar isso tb.....ok

Alessandro Seribeli Barreto
aleseribeli@hotmail.com
Andradina - SP
FwH 2.6, xH99.50, xMate, Pelles - FwPPC - WxWeb(Breve) - SB_Web
***
"A melhor forma de prever o futuro é criá-lo."
Peter Drucker

Yury Alessandro,

nãi mudei "quase" nada no exemplo, copiei e colei, exceto esta linha na função PegaIp( cHtml ):


IF (Pos<1); RETURN 0; END

mudei para:


IF (Pos<1); RETURN ""; END

em razão de que do jeito q está, retornando ZERO ,dá "Argument error" quando não acha o IP, em:


html:= ReadPage( url )
MsgInfo('Meu IP é:' + ' ' + PegaIP(html) )

bom, quando vc postar o outro exemplo eu testo de novo...

um abraço e obrigado


Yury Marcelino Al
vimansca@vimansca.com.br
yury030575@yahoo.com.br
skype: yury.marcelino.al
Leme / SP
FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.62

Editado por - yury on 31/05/2007 17:49:02

BenyHapper Yuri vc quer informar um site ex: www.uol.com.br e ele retornar o IP deste site? Se for isso basta usar a função abaixo

FUNCTION PEGAIP(Host)
Local cVar1
WsaStartUp()
cVar1 := GetHostByName(Host)
WsaCleanUp()
RETURN cVar1

Para chamar EX: MSGINFO(PEGAIP("www.uol.com.br"))


Bene
E-mail :benyhapper@hotmail.com
FW2.4 + CL53b + Blinker 7.0 + @Say + SIXCDX
MSN: benyhapper@hotmail.com
São Paulo/SP

Ale SB Yuri...Postei no outro Link....o executavel...blz...qq coisa me avise...ok

@braços Ale

Alessandro Seribeli Barreto
aleseribeli@hotmail.com
Andradina - SP
FwH 2.6, xH99.50, xMate, Pelles - FwPPC - WxWeb(Breve) - SB_Web
***
"A melhor forma de prever o futuro é criá-lo."
Peter Drucker

Yury olá Alessandro, obrigado pelo post

cara, não sei se é versão ou outra coisa, mas seu exemplo não funciona aqui
comigo...

rodei o executável e dá erro de Argumento, como eu havia postado
acima, porque não acha...

fiz uma função com base num exemplo do fórum internacional para usar a classe TOleAuto e dessa forma consegui pegar, porém acredito q desta forma, utilizando um site de terceiros, fica um negócio um pouco engessado e muito dependente, se o cara resolve mudar o site ou mesmo tirá-lo do ar...

acho q estudando melhor as propriedades do Internet Explorer deve haver um jeito de pegar isto direto do browser, pela classe TOleAuto, sem depender de um site:

segue função abaixo (para compilar deve utilizar hboleaut.lib):


#include "FiveWin.ch"


function PegaIP()


LOCAL oExplorer := TOleAuto():New( "InternetExplorer.Application" )
LOCAL cText := "", cIP:=""
LOCAL nPos1 := 0, nPos2 := 0


oExplorer:Navigate2( "www.meuip.com.br" )


WHILE oExplorer:ReadyState <> 4
HB_IDLESLEEP( 1 )
ENDDO


cText = oExplorer:Document:Body:InnerHTML


nPos1 = AT("class=IP>",cText)


if nPos1 >0
cIP = SUBST( cText, nPos1+9,30 )
nPos2 = AT("</",cIP)
if nPos2 >0
cIP = SUBST( cIP, 1,nPos2-1 )
msginfo( "Meu IP é: " + cIP )
else
? "IP não pode ser determinado !"
endif
else
? "IP não pode ser determinado !"
endif


oExplorer:Quit()


RETURN NIL

obrigado e um abraço


Yury Marcelino Al
vimansca@vimansca.com.br
yury030575@yahoo.com.br
skype: yury.marcelino.al
Leme / SP
FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.62

Editado por - yury on 01/06/2007 08:48:15

Ale SB Bom dia Yuri, blz........

Me tira uma duvida....sobre este erro q deu ai.....vc baixou o EXE do meu link......e ja clicando nele deu este erro ?

Ow vc compilou, e ao gerar um EXE com sua versao...deu este Erro.

Alessandro Seribeli Barreto
aleseribeli@hotmail.com
Andradina - SP
FwH 2.6, xH99.50, xMate, Pelles - FwPPC - WxWeb(Breve) - SB_Web
***
"A melhor forma de prever o futuro é criá-lo."
Peter Drucker

Yury sim Alessandro, baixei o EXE do seu link, cliquei nele e dá o erro...

este erro vai ocorrer toda vez que ele não conseguir obter a informação do ip...

veja na sua função PegaIp( cHtml ) a linha:

IF (Pos<1); RETURN 0; END

é por causa desta linha q dá o erro, ele retorna zero e depois tenta concatenar com uma string...

Yury Marcelino Al
vimansca@vimansca.com.br
yury030575@yahoo.com.br
skype: yury.marcelino.al
Leme / SP
FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.62

Editado por - yury on 01/06/2007 09:36:58

Editado por - yury on 01/06/2007 09:37:25

Ale SB Ok...Yuri...ate ai ta certo...c ele nao acha...dá esse erro mesmo....mas.a questao.q nao to entendendo......eh pq ele nao ta achando o site ae no seu micro........pq pedi agora pro Dorneles....testar no micro dele....e nao deu erro...e eu ja havia testado em outros micros aki.
Nao entendo pq o link nao acha no seu micro.

Vc ta usando qual Windows, e qual seu Navegador ?
Como eh sua conççao com a Internet , ADSL/Radio ?
Vc tem q usar alguma protocolo de autenticaçao, pra c conctar ?
Este site nao esta liberado pelo seu Firewall ?


@braços Ale

Alessandro Seribeli Barreto
aleseribeli@hotmail.com
Andradina - SP
FwH 2.6, xH99.50, xMate, Pelles - FwPPC - WxWeb(Breve) - SB_Web
***
"A melhor forma de prever o futuro é criá-lo."
Peter Drucker

BenyHapper Bom Yuri vc precisa pegar o seu IP de Conexão com a Internet.

Utilizei para fazer isso um exemplo aqui mesmo do forum para acesso a webservice e disponibilizei no meu site o mesmo. Para acessar utilize da seguinte forma.

dWService.Prg
inicio prg-------------------------------
#include "fivewin.ch"
#include "dll.ch"

static xdll
*****************************
CLASS TdWebService
DATA hOpen
DATA sbuffer HIDDEN
DATA xDLL HIDDEN

METHOD New(buffersize) CONSTRUCTOR

METHOD OpenWS(url)

METHOD End()
ENDCLASS
*****************************
METHOD New(conexion,buffersize) CLASS TdWebService
DEFAULT buffersize:=3200
::sbuffer:=buffersize
xDll:=LoadLib32("wininet.dll")
::hOpen = InternetOpen("TdWebService", 1,,, 0)
RETURN Self
*****************************
METHOD OpenWS(url) CLASS TdWebService
local hFile,ret,xml
hFile = InternetOpenUrl(::hOpen, url,"",0,,0)
xml:=space(::sbuffer)
InternetReadFile(hFile, @xml, ::sbuffer, @Ret)
return subst(alltrim(xml),1,len(alltrim(xml)))
*****************************
METHOD End() CLASS TdWebService
FreeLib32(xDll)
return nil
*****************************

DLL32 FUNCTION InternetOpen( cApp as LPSTR, n1 AS DWORD, n2 AS LPSTR, n3 AS LPSTR,;
n4 AS DWORD ) AS LONG PASCAL ;
FROM "InternetOpenA" LIB xdll
Dll32 Function InternetReadFile(hFile As 7, @sBuffer As 8, lNumBytesToRead As 7, @lNumberOfBytesRead As 7) As 7 PASCAL Lib xdll
Dll32 Function InternetOpenUrl(hInternetSession As 7, lpszUrl As 8, lpszHeaders As 8, dwHeadersLength As 7, dwFlags As 7, dwContext As 7) As 7 FROM "InternetOpenUrlA" PASCAL Lib xdll
DLL32 FUNCTION InternetCloseHandle( hSession AS LONG ) AS BOOL PASCAL LIB xdll

fim do prg--------------------------------

Utilizando o webservice para pegar o ip da conexão

EXEMPLO.PRG
inicio prg---------------------------------
#include "fivewin.ch"

static xDLL,oGet,oSay
*****************************
Function Main()
local ws:=TdWebService():new()
MSGINFO(ws:OpenWS("http://www.exatus.net/ip.asp"))
ws:end()
return nil
*****************************
fim do prg--------------------------

O endereço http://www.exatus.net/ip.asp é do meu site e deixarei lá o webservice [ip.asp] para que todos possam utiliza-lo.

Espero ter ajudado a todos

Bene
E-mail :benyhapper@hotmail.com
FW2.4 + CL53b + Blinker 7.0 + @Say + SIXCDX
MSN: benyhapper@hotmail.com
São Paulo/SP

Yury olá Bene, tudo bem ?

só agora vi q vc tinha postado anteriormente, desculpe por não ter respondido...

vou testar a sua rotina e depois eu reporto aqui como ficou...

um abraço pra vc e muito obrigado

Yury Marcelino Al
vimansca@vimansca.com.br
yury030575@yahoo.com.br
skype: yury.marcelino.al
Leme / SP
FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.62

Editado por - yury on 01/06/2007 10:39:44

Yury
citação:

Ok...Yuri...ate ai ta certo...c ele nao acha...dá esse erro mesmo....mas.a questao.q nao to entendendo......eh pq ele nao ta achando o site ae no seu micro........pq pedi agora pro Dorneles....testar no micro dele....e nao deu erro...e eu ja havia testado em outros micros aki.
Nao entendo pq o link nao acha no seu micro.

Vc ta usando qual Windows, e qual seu Navegador ?
Como eh sua conççao com a Internet , ADSL/Radio ?
Vc tem q usar alguma protocolo de autenticaçao, pra c conctar ?
Este site nao esta liberado pelo seu Firewal ?


Windows Xp, Explorer 6.0, speed business Ip fixo, firewall sem bloqueio p/este site...

em relação ao protocolo de autenticação vou ver...

será q tem algo a ver com o fato do IP ser Fixo ?


Yury Marcelino Al
vimansca@vimansca.com.br
yury030575@yahoo.com.br
skype: yury.marcelino.al
Leme / SP
FW 2.6 / [x]Harbour 99.50 / WS / xDev 0.62

Ale SB o IP fixo nao tem nada a ver, o tb eh fixo, a ultima alternativa seria algum protocolo de conçao....pq.......varios dos meus contatos do MSN....testaram....e deu certo com todos....

Pra falar a verdade....nao entendo pq so nao roda no seu micro.caso vc tenha a oportunidade de testar eu outro micro....com outro tipo de concçao vc testa ai..e me avisa....blz..

@braços Ale

Alessandro Seribeli Barreto
aleseribeli@hotmail.com
Andradina - SP
FwH 2.6, xH99.50, xMate, Pelles - FwPPC - WxWeb(Breve) - SB_Web
***
"A melhor forma de prever o futuro é criá-lo."
Peter Drucker


© Copyright 2002 FiveWin Brasil
Todos os Direitos Reservados