2017-10-11 8 views
1

Je n'arrive pas à trouver un moyen d'utiliser httprequest en mode classique pour extraire des données d'un aspx qui appelle également un reqeust.classique asp page httprequest sur la page aspx?

Code classique:

HostURL = "https://URL" 
    NetURL = "middle.aspx?HostURL=" & HostUR 

    Dim oXMLHTTP 
    Dim strStatusTest 

    Set oXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0") 

    oXMLHTTP.Open "POST", NetURL, False 
    oXMLHTTP.Send 
    strStatusText = oXMLHTTP.responseText 

le code ASPX netURL

private void Page_Load(object sender, System.EventArgs e){ 
    String host = getParam(); 
     HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(host); 
     HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse(); 

    String cc; 
     using (Stream stream = response.GetResponseStream()) 
     { 
      StreamReader reader = new StreamReader(stream, Encoding.UTF8); 
      cc = reader.ReadToEnd(); 
     }  
    Response.Write(cc); 
} 

donc ce que im essayant de faire est quand j'appelle la page ASPX du classique, la ASPX la charge obtient une clé que je besoin de la page asp pour avoir. Le code ASPX fonctionne très bien, il récupère la clé dont j'ai besoin. Info supplémentaire: nous avons éteint TLS 1.0 et le gestionnaire ne veut pas faire le correctif du registre. Je suis aussi un programmeur très junior donc ça ne marchera peut-être même pas, je ne sais pas.

Merci d'avance pour toute aide.

+2

Quel est le problème réel? Avez-vous une erreur signalée? – JohnRC

+0

Il y a une erreur de syntaxe dans la ligne de code classique 2, et NetURL étant réglé sur 'https: // URL' est suspect. De plus, comme vous n'envoyez aucune donnée, je vous suggère d'utiliser GET au lieu de POST. J'ai souvent utilisé XMLHTTP en ASP classique et ça marche très bien. – JohnRC

Répondre

1

Il y a quelques problèmes avec votre code

Comme le commentaire de JohnRC souligne - https://URL est suspect. Je suppose cependant que vous avez substitué ceci à une URL réelle que vous ne voulez pas afficher sur ce forum.

NetURL doit être une URL absolue, à savoir

NetURL = "http://www.yourdomain.com/middle.aspx?HostURL=" & HostURL 

En outre, dans le code que vous avez fourni que vous avez quitté le « L » de la fin de HostURL dans la deuxième ligne, si cela est dans votre code actuel alors évidemment la variable ne sera pas transmise à votre page aspx.

Enfin, ce n'est pas une erreur, mais je recommande d'utiliser MSXML2.ServerXMLHTTP.6.0 plutôt que 3.0 - il appelle la version la plus récente de MSXML