Foros del Web » Programando para Internet » PHP »

cURL y respuesta json

Estas en el tema de cURL y respuesta json en el foro de PHP en Foros del Web. Hola gente, quiero automatizar un proceso, pero la verdad el servidor no me responde bien a la peticion que hago con curl, al ingresar a ...
  #1 (permalink)  
Antiguo 10/05/2013, 21:05
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
cURL y respuesta json

Hola gente, quiero automatizar un proceso, pero la verdad el servidor no me responde bien a la peticion que hago con curl, al ingresar a www.mercadopublico.cl y buscar por ejemplo medicamentos se realiza la siguiente peticion POST:

Código:
POST /sitebuscadorFast/SearchAcquisition/SearchAcquisition/ navegador=&navsDisabled=&region=&estado=&monto=&tipolicitacion=&tipofecha=&fechadesde=&fechahasta=&sortFieldBefore=fechacierre&Parameters.SortField=%2Bestadoorder%2Bfechacierre&Parameters.SortDirection=&Parameters.NavigatorAction=0&Parameters.Offset=0&hiddenBusqueda=medicamentos&permalink=&executeSearchOnLoad=false&toggleAdvanced=False&tipobusqueda=simple&urlShortenAction=%2FsitebuscadorFast%2FSearchAcquisition%2FGetShortenUrl%2F&urlBusqueda=%2FsitebuscadorFast%2FSearchAcquisition%2FSearchAcquisition%2F&busqueda=medicamentos&Todos=false&Comprador=&Proveedor=&Rubros=&ddlRegiones=&ddlEstados=&ddlMontos=&ddlTiposLic=&ddlTiposFecha=&dCompradores=&dProveedores=&dRubros=
las cabezaras que retorna son las siguientes:

Código:
https://www.mercadopublico.cl/sitebuscadorFast/SearchAcquisition/SearchAcquisition/

POST /sitebuscadorFast/SearchAcquisition/SearchAcquisition/ HTTP/1.1
Host: www.mercadopublico.cl
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:15.0) Gecko/20100101 Firefox/15.0.1
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: https://www.mercadopublico.cl/sitebuscadorFast/SearchAcquisition/SearchAcquisitionByUrl?navegador=&busqueda=medicamentos&model={+Todos+%3afalse%2c+Comprador+%3a%27%27%2c+Proveedor+%3a+%27%27%2c+Rubros+%3a%27%27%2c+Region+%3a%27%27%2c+Estado+%3a%27%27%2c+Monto+%3a%27%27%2c+TipoLicitacion+%3a%27%27%2c+TipoFecha+%3a%27%27%2c+FechaDesde+%3a%27%27%2c+FechaHasta+%3a%27%27}&parameters={%20SortField%20:%20%27+estadoorder+fechacierre%27%20,%20SortDirection%20:%20%27%27%20,%20Offset%20:0,%20NavigatorAction%20:0}&navsDisabled=
Content-Length: 673
Pragma: no-cache
Cache-Control: no-cache
navegador=&navsDisabled=&region=&estado=&monto=&tipolicitacion=&tipofecha=&fechadesde=&fechahasta=&sortFieldBefore=fechacierre&Parameters.SortField=%2Bestadoorder%2Bfechacierre&Parameters.SortDirection=&Parameters.NavigatorAction=0&Parameters.Offset=0&hiddenBusqueda=medicamentos&permalink=&executeSearchOnLoad=false&toggleAdvanced=False&tipobusqueda=simple&urlShortenAction=%2FsitebuscadorFast%2FSearchAcquisition%2FGetShortenUrl%2F&urlBusqueda=%2FsitebuscadorFast%2FSearchAcquisition%2FSearchAcquisition%2F&busqueda=medicamentos&Todos=false&Comprador=&Proveedor=&Rubros=&ddlRegiones=&ddlEstados=&ddlMontos=&ddlTiposLic=&ddlTiposFecha=&dCompradores=&dProveedores=&dRubros=
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNetMvc-Version: 3.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Sat, 11 May 2013 02:30:01 GMT
Content-Length: 127865
y mi script:

Código PHP:
$fields_strings "navegador=&navsDisabled=&region=&estado=&monto=&tipolicitacion=&tipofecha=&fechadesde=&fechahasta=&sortFieldBefore=fechacierre&Parameters.SortField=%2Bestadoorder%2Bfechacierre&Parameters.SortDirection=&Parameters.NavigatorAction=0&Parameters.Offset=0&hiddenBusqueda=medicamentos&permalink=&executeSearchOnLoad=false&toggleAdvanced=False&tipobusqueda=simple&urlShortenAction=%2FsitebuscadorFast%2FSearchAcquisition%2FGetShortenUrl%2F&urlBusqueda=%2FsitebuscadorFast%2FSearchAcquisition%2FSearchAcquisition%2F&busqueda=medicamentos&Todos=false&Comprador=&Proveedor=&Rubros=&ddlRegiones=&ddlEstados=&ddlMontos=&ddlTiposLic=&ddlTiposFecha=&dCompradores=&dProveedores=&dRubros=";

$ch curl_init();

curl_setopt($chCURLOPT_URL'https://www.mercadopublico.cl/sitebuscadorFast/SearchAcquisition/SearchAcquisition/');
curl_setopt($chCURLOPT_RETURNTRANSFER1);

curl_setopt($ch,CURLOPT_POSTtrue);
curl_setopt($ch,CURLOPT_POSTFIELDS$fields_string);
    
$data curl_exec($ch);
curl_close($ch); 
resulta que me retorna un json con informacion no relacionada a los resultados de la busqueda.

alguien me ayuda?

gracias.
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #2 (permalink)  
Antiguo 10/05/2013, 21:14
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: cURL y respuesta json

Hay una API para ese sitio?, busqué (no muy a conciencia) y no encontré.

Si existe esa API (supongo que sí), entonces lee la documentación relacionada y podrás solventar el problema.

En caso de que tengas un error, no creo que se pueda solventar con PHP, es decir, habrá que verificar que los parámetros enviados sean los que esa página espera recibir.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: curl, json, respuesta, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:04.