Peticion por URL

Post Reply
servicomver
Posts: 158
Joined: Fri Nov 18, 2005 7:34 pm

Peticion por URL

Post by servicomver »

Hola, como puedo mandar peticiones a una URL y obtener respuesta de las mismas ?
por ejemplo
https://192.168.0.2/ServerPos/index.php? operation=doTest&name=admin&password=123
necesito obtener una respuesta de esa petición, la pregunta es:
1.-Como hago la petición en formato JSON
2.-Como obtengo la respuesta

Ya busqué algunos ejemplos pero no he logrado nada, es necesario alguna librería o conector ?
Gracias por su tiempo, saludos.

oHttp:= CreateObject("Microsoft.XMLHTTP")
cUrl = "https://192.168.0.2/ServerPos/index.php?"
oHttp:Open( "POST", cUrl, .F.)
oHttp:setRequestHeader( "Content-type", "text/json" )
cJson :='{"name":"admin","password":"123"}'
oHttp:Send(cJson) ("Aquí sale error de conexión")
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Peticion por URL

Post by cnavarro »

servicomver wrote:Hola, como puedo mandar peticiones a una URL y obtener respuesta de las mismas ?
por ejemplo
https://192.168.0.2/ServerPos/index.php? operation=doTest&name=admin&password=123
necesito obtener una respuesta de esa petición, la pregunta es:
1.-Como hago la petición en formato JSON
2.-Como obtengo la respuesta

Ya busqué algunos ejemplos pero no he logrado nada, es necesario alguna librería o conector ?
Gracias por su tiempo, saludos.

oHttp:= CreateObject("Microsoft.XMLHTTP")
cUrl = "https://192.168.0.2/ServerPos/index.php?"
oHttp:Open( "POST", cUrl, .F.)
oHttp:setRequestHeader( "Content-type", "text/json" )
cJson :='{"name":"admin","password":"123"}'
oHttp:Send(cJson) ("Aquí sale error de conexión")
Lo que te falta es mirar la respuesta obtenida

Code: Select all

           local cResponse  := ""
           local cMyRespuesta

.../...
// Tu codigo anterior, y después del Send, esto

           cResponse := ohttp:responseText
            cMyRespuesta  := hash()
            hb_jsondecode( cResponse , @cMyrespuesta ) 
            XBrowse( cMyRespuesta )         // ? cMyRespuesta

 
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
servicomver
Posts: 158
Joined: Fri Nov 18, 2005 7:34 pm

Re: Peticion por URL

Post by servicomver »

Muchisimas gracias, efectivamente no recogia la respuesta. Otra consulta:

hay alguna forma de usar hb_jsonEncode y hb_jsonDecode en xHarbour ?, que tengo que hacer para usarlas ?

Gracias
lorenzoazz
Posts: 28
Joined: Mon Jun 29, 2015 7:41 am

Re: Peticion por URL

Post by lorenzoazz »

Hi, i am fivewin/xharbour programmer and i am trying to capture the response from an http request ( i need to send an address and obtain the POSTAL ITALIAN CODE).
I tried this
Function http(therequest)
Local oHttp
default therequest:= "https://www.nonsolocap.it/cap?k=calori&b=&c=bologna"



Try
* oHttp := CreateObject( "winhttp.winhttprequest.5.1" )
oHttp:= CreateObject("Microsoft.XMLHTTP")

Catch
MsgInfo("errore connessione msxml2, uso microsoft ")
oHttp := CreateObject( 'Microsoft.XMLHTTP' )
End

oHttp:Open( 'GET', therequest, .F. )
oHttp:SetRequestHeader( "Content-Type","application/json")
oHttp:Send()

Try
cResp := oHttp:ResponseBody
Catch
MsgInfo("errore responsebody")

End
*oHttp:SetRequestHeader( "Content-Type","application/json")


SysRefresh()

MsgInfo(cResp)

Return

But i get the error from oHttp:ResponseBody : cresp dosen't exist

Can anyone help me??
Post Reply