| 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 |
|