[Python] Problema con una callback di un sito

Carlos Catucci carlos.catucci a gmail.com
Mer 21 Gen 2015 09:28:55 CET


Salve gente

scusate se la domanda e' un poco strana ma sono in una specie di vicolo
cieco.

Il mio cliente che si occupa di grafica, per ordini particolarmente
impegnativi da in conto lavoro ad una azienda piu' grande, parte degli
ordini.
Questa azienda ha un form web per inserire gli ordini ma al momento si
trovano a dover trasferire i dati manualmente.
Avevamo pensato di automatizzare la prcedua con una appliccazione che
leggendo i dati riempisse opportunamente la form degli ordini dell'azienda.
Questo dopo averli contattati e chiesto se esponessero un web service e
relative API per fare cio' ricevendo una rispotsa negativa.
Ordunque il problema viene nel momento in cui cerchiamo9 dgestire la pagina
dell'ordine. Siccome in base al tipo di prodotto cambiano i parametri da
inserire (tra un biglietto da visita ed un manifesto di grande formato
variano diversi parametri), l'azienda genera dinamicamente, a seconda della
scelta fatta dal menu, la griglia dove inserire le scelte.
Ora, posto che gia' li ci sono cose non standard (ad esempio al posto delle
tradizionali <select><option> usano degli <ul><li> gestiti via javascript
per simulare una <select><option>) il vero problema e' che il caricamento
della parte dinamica avviene tramite una callback che illustro qui di
seguito


L'URL e' una cosa del http://www.yyyyyyyy.it/tipo
piccolo-formato/stampa-biglietti-da-visita/, ma poi esegue una chiamata
duranete il caricamento della pagina stessa a

phpLink.php

con il seguente Request headers

Host: www.yyyyyyyy.it
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101
Firefox/37.0
Accept: application/json, text/javascript, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://www.yyyyyyyy.it/piccolo-formato/stampa-biglietti-da-visita/
Content-Length: 82
Cookie:
optimizelySegments=%7B%22541725669%22%3A%22none%22%2C%22541725670%22%3A%22ff%22%2C%22546091210%22%3A%22direct%22%2C%22536872274%22%3A%22false%22%2C%221981220307%22%3A%22true%22%2C%222210601437%22%3A%22true%22%7D;
optimizelyEndUserId=oeu1421767405289r0.13819415366377463;
optimizelyBuckets=%7B%222203491517%22%3A%222197754480%22%2C%222365820178%22%3A%222361740160%22%7D;
tc_retargetingAB=criteo; km_ai=z0Nk%2Bp6ag2YiOyHbWRVorfWLUZo%3D; km_uq=;
km_lv=x; _ga=GA1.2.2108156110.1421767411; TCID=2015121623314497845354;
reevoomark_marker=1565604005; promotional_NL_stop=true;
PHPSESSID=pi9kjmdeop8v5k01jtmngv7fu2; optimizelyPendingLogEvents=%5B%5D;
_gat=1
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache


La domandona e': con qualche libreria tipo request o piu' specializzata,
come posso fare si che mi risponda? Dal browser vedo che torna un jeson
dove la chiave che mi interessa e' dentro la chiave "in_array", ma se provo
a fare la chiamata diretta all'url (http://www.yyyyyyyy.it/core/phpLinks.php)
comunque io faccio non mi torna quel json ma piuttosto nuovamente la pagina
principale.
Ho provato a eseguire la chiamata anche con curl passandogli i parametri
del Request header, incluso il cookie, ma senza alcun successo. Sospetto
qualcosa possa avere a che fare con PHPSESSID.
Qualche suggerimento, anche solo su link che possano aiutarmi a comprendere
questo meccanismo?

Muchas gracias
Carlos
-- 
EZLN ... Para Todos Todo ... Nada para nosotros
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20150121/54038ef1/attachment.html>


Maggiori informazioni sulla lista Python