Hola Zarlu
Abres Fiddler, luego, usas tu navegador, supongamos Chrome. vas hasta la dirección web del portal que quieres automatizar con Fox, navegas, llenas formularios, envías datos, recibes respuesta. Luego solo vas a Fiddler y revisas que carajos hizo el portal. Ahí están todas las acciones que se realizaron, los GET, POST, etc. del REQUEST y hasta puedes ver los RESPOND. Copias los request a Fox y pruebas. Eso es todo.
EJEMPLO:
Entonces, teniendo abierto Fiddler, abro Chrome y navego hasta esta dirección, hago la consulta:
Ahora veo como hizo el portal el REQUEST en Fiddler, selecciono la dirección del proceso y en la pestaña INSPECTOR, en la sub-pestaña RAW, en la parte de abajo puedo ver que dio como RESPOND el portal, se esperaba un JSON, tal como lo indica en el REQUEST.
Sombrea y copia todo el dato del RESPOND y lo pegas dentro de Fox y armas tu HTTP, (ojo, yo desactivo la compresión GZIP) así:
Clear
lcRuc="0760000260001"
lcResp=GetPlanilla(lcRuc)
? lcResp
Procedure GetPlanilla()
Lparameters tcIndentidad As String
lcRequest="PP=0&UN=EOR&CC="+ tcIndentidad
oHTTP=Createobject("Msxml2.ServerXMLHTTP.6.0")
oHTTP.setRequestHeader("Connection", "keep-alive")
oHTTP.setRequestHeader("Content-Length", Transform(Len(lcRequest)))
oHTTP.setRequestHeader("sec-ch-ua", ["Google Chrome";v="95", "Chromium";v="95", ";Not A Brand";v="99"])
oHTTP.setRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01")
oHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")
oHTTP.setRequestHeader("X-Requested-With", "XMLHttpRequest")
oHTTP.setRequestHeader("sec-ch-ua-mobile", "?0")
oHTTP.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36")
oHTTP.setRequestHeader("sec-ch-ua-platform", "Windows")
oHTTP.setRequestHeader("Sec-Fetch-Site", "same-origin")
oHTTP.setRequestHeader("Sec-Fetch-Mode", "cors")
oHTTP.setRequestHeader("Sec-Fetch-Dest", "empty")
* oHTTP.setRequestHeader("Accept-Encoding", "gzip, deflate, br")
oHTTP.setRequestHeader("Accept-Language", "es-419,es;q=0.9")
Try
oHTTP.Send(lcRequest)
Catch To oError
lcMessage=oError.Message
EndTry
Set Step On
? oHTTP.Status
lcHead = oHTTP.getAllResponseHeaders
lcText = oHTTP.responseText
Return lcText
EndProc
*---- fin del codigo
Y eso es todo amigo.
Prueba y me avisas como te fue.
Saludos
Fernando