Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Problema: Aprire un json remoto

    Un saluto a tutti,
    avrei la necessità di aprire un json remoto situato in una pagina esterna. Con javascript risulta impossibile farlo, in quanto la pagina che restituisce il json non permette l uso del callback.
    Il problema è il seguente:
    dovrei scaricare il json che però viene creato automaticamente alla mia richiesta, quindi non mi è possibile utilizzare file_get_contents. Qualche giorno fa ho trovato una discussione in proposito di questo tema
    http://forum.html.it/forum/showthread/t-1357540.html

    ma non sono riuscito a comprendere la soluzione e a far funzionare lo script.
    Come potrei risolvere il problema?

  2. #2
    provo con un' uppatina.... forse mi converrebbe cambiare il titolo del topic? Penso che la cosa sia più semplice di quanto si potrebbe capire leggendo solo il titolo

  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Più che altro dovresti esprimerti meglio. Non si capisce niente

  4. #4
    Grazie per l' intervento.
    Cos'è che non si capisce?

  5. #5
    Con php interpretare il json è molto semplice hai infatti:

    json_decode
    http://php.net/manual/en/function.json-decode.php

    e json_encode
    http://php.net/manual/en/function.json-encode.php
    Vi aspetto sul mio sito
    creato per tutti coloro che necessitano di aiuto, scripts ecc.
    http://www.dbpersister.com
    http://principeorazio.wordpress.com/

  6. #6

  7. #7
    mmm è qualcosa di infinitamente ed estremamente pericoloso a mio parere, non c'è modo per assicurarsi che sia richiamato dal "tuo" javascript e non da un bot che lo usa per fare un DoS verso un servizio di terzi passando dal tuo server/hosting

    molto meglio fare uno script apposito che faccia da tramite

    detto questo, in realtà il problema non mi sembra essere dovuto ad un errore di cross-domain, ma semplicemente all'impossibilità di utilizzare JSONP ... usa JSON e gestisci tu la callback via jquery/mootools/prototype o qualsiasi altro framework tu stia usando

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    non puo farlo con nessun framework javascript appunto perche le chiamate cross domain non sono possibili se non usando jsonp. Quindi o usa un proxy php(che ne usa uno già pronto o uno che si crea lui è indifferente) o non può farlo.

  9. #9
    magari sono ignorante ma JSONP != Richiesta Cross Site Non Permessa

    JSONP è fisicamente una funzione Javascript, specificata nella richiesta stessa, a cui gli viene passato li il JSON il che significa che funziona o non funziona a prescindere da una richiesta fatta al webserver di origine o ad un altro webserver.

    Le richieste cross site sono "gestite" dall'header Access-Control-Allow-Origin ... quindi ripeto ... magari sono ignorante io ma sono due problemi distinti e separati no?

    Se lui non può usare o può usare solamente JSONP è un conto, se non può fare la richiesta cross site perché non c'è abilitato l'allow origin è un altro conto ... sono due problemi distinti

    Detto questo, dal suo post si capiva che il suo problema era relativo al JSONP non alla richiesta cross site ... se ovviamente la richiesta è cross site allora si, direi che va risolto con un ponte scritto in PHP ma, comunque, sconsiglio lo stesso l'uso di un generico proxy perché, ripeto, può essere usato per far danni!

    E' molto meglio una pagina PHP che effettua la richiesta, magari se ha possibilità, ma dipende dal tipo di richiesta (i parametri) e dal tipo di dati, mette in cache il tutto, e poi risponde. Tra l'altro si possono implementare dei controlli per limitare il numero di richieste effettuate.

    Non c'è alcun problema e/o difficoltà nell'usare file_get_contents, se la pagina non necessità di autenticazione (o meglio se l'autenticazione è di tipo http si può usare ancora), alternativamente vanno usate le CURL o la richiesta va costruita manualmente parsando poi la risposta per estrarre eventuali cookie e quant'altro.

    poi magari sono ignorante, ho cannato tutto ... in questo caso chiedo perdono ^^

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.