ciao,
non avevo capito che stessi utilizzando l'oggetto XMLHTTP lato server. Pensavo che stessi facendo delle chiamate ajax dal client, per quello parlavo di same-origin policy che in questo caso non c'entra nulla dato che le chiamate partono dal server.
Ora penso di aver capito il problema: tu fai due chiamate al sito finanziaro e con la prima ti logghi mentre con la seconda ottieni i dati. Alla prima chiamata, il sito finanziario allega alla risposta un cookie di autenticazione che DEVI reinviare in tutte le successive chiamate per provare la tua identità. E' il meccanismo di autenticazione più comune sul web.
Però, alla seconda richiesta, quando chiedi i dati a /Marketing/GetStocks, non aggiungi quel cookie che ti era stato fornito in precedenza e, in linea teorica, il sito finanziario non avrebbe modo di verificare la tua identità e di sapere che sei tu lo stesso che ha effettuato il login pochi istanti prima. Nonostante tu non fornisca il cookie, sorprendentemente funziona lo stesso. Probabilmente è l'oggetto XMLHTTP che assembla la richiesta per te e ci butta dentro il cookie.
Se sul sito del cliente il comportamento è diverso non è a causa del differente dominio, del server che potrebbe essere configurato in maniera diversa dagli altri. Qui non mi avventuro perché non conosco l'XMLHTTP (e tutte le sue versioni) in maniera approfondita né i server in uso. Una prova che puoi fare è sostituire Msxml2.XMLHTTP con
MSXML2.ServerXMLHTTP. Il primo è pensato per applicazioni client-side, mentre il secondo per il server.
Oppure, chiedi a Hoster2 che differenza c'è tra il server usato per il tuo sito e quello su cui si trova il sito del cliente. Eventualmente fagli presente il problema che stai riscontrando e chiedi (se gratuito) che il sito venga spostato sullo stesso server su cui si trova il tuo sito.
Comunque, come hai constatato, questa soluzione è fragile e non sono neanche tanto sicuro che quelli del sito finanziario vogliano che i loro contenuti siato inglobati in altre pagine. Oltretutto, se provi a premere il tasto "Get stocks" vedrai che non funziona.
La soluzione sarebbe stata usare un iframe, in modo che l'utente avrebbe visto una cornice nella tua pagina all'interno della quale avrebbe potuto interagire con le pagine del sito finanziario, visibili dal loro dominio.
<iframe src="https://www.magicformulainvesting.com/Marketing/Login?email=tuaemail...ecc..." width="800" height="600"></iframe>
Tuttavia vedo che hanno scritto del javascript proprio per evitare che i loro contenuti venissero rinchiusi in una cornice. Se provi ad usare un iframe, infatti, avverrà una navigazione al sito finanziario posto a tutta pagina.
ciao
Modificato da BrightSoul il 27 dicembre 2011 17.29 -