2010-06-14 6 views
2

Mon code fonctionne très bien jusqu'à ce que je le migrer vers un autre serveur avec pare-feu. Après, une partie de mon code ne fonctionne plus. Son semble être le problème POST xmlhttp. Quelqu'un peut-il me diriger vers la bonne direction et comment déterminer si le pare-feu est le problème. Mon client a insisté pour que j'utilise l'asp classique, donc je ne peux pas passer à .net.Cross XMLHttpRequest domaine en ASP classique

Dim objHttp 
SUBMIT_URL = "http://www.abc.com/confirm.asp" 

Call Process() 

Public Sub Process() 

    set objHttp = Server.CreateObject("Microsoft.XMLHTTP") 

    'set the timeout values in milliseconds 
    lResolve = 1 * 1000 
    lConnect = 1 * 1000 
    lSend = 2 * 1000 
    lReceive = 2 * 1000 

    objHttp.open "POST", SUBMIT_URL, false 
    objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded" 
    objHttp.Send str 
    if err.number <> 0 then 
    Response.Write "Error : " & err.Description 
    err.Clear 
    end if 

End Sub 
+0

Quelle est l'erreur que vous obtenez? –

+0

Existe-t-il une sorte de proxy nécessaire pour obtenir un accès http depuis le pare-feu? –

+3

Vous ne devez pas utiliser Microsoft.XMLHTTP côté serveur, utilisez plutôt MSXML2.ServerXMLHTTP. Vous pouvez également ajouter "; charset = UTF-8" après le type de contenu. –

Répondre

1

Cela fonctionne presque bien pour moi. Il semble qu'il y ait une redirection sur la page d'atterrissage que vous appelez qui ne peut pas être traitée. Cela ne semble pas être un problème de pare-feu (peut-être qu'une application proxy comme Charles ou Fiddler peut vous aider à voir s'il y a des problèmes de communication dus à votre pare-feu, mais je ne le pense pas).

Donc, essayez de pointer vers la page de destination finale:

SUBMIT_URL = "http://abc.go.com/confirm.asp"

Je ne vois pas vraiment le point les variables de délais d'attente sauf si vous découpez le code avant de poster ici.