2017-10-11 107 views
1

我很難找到一種方法來在經典中使用httprequest從aspx中調用數據,這也調用了reqeust。aspx頁面上的經典asp頁面httprequest?

經典代碼:

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 

的netURL ASPX代碼

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); 
} 

所以什麼即時試圖做的是,當我打電話,從經典的aspx頁面,在加載ASPX得到一個關鍵,我需要asp頁面才能擁有。

aspx代碼工作正常,它確實檢索我需要的密鑰。

其他信息:我們關閉了TLS 1.0,並且管理員不想執行註冊表修復。我也是一個非常初級的程序員,所以這可能不起作用,我不知道。

非常感謝您提供任何幫助。

+2

什麼實際問題?你報錯了嗎? – JohnRC

+0

經典代碼行2中存在語法錯誤,並且將NetURL設置爲「https:// URL」是可疑的。另外,由於您沒有發送任何數據,我建議您使用GET而不是POST。我經常在傳統的ASP中使用XMLHTTP,並且工作正常。 – JohnRC

回答

1

有你的代碼

的幾個問題作爲JohnRC的評論指出 - https://URL的嫌疑。我假設你已經用這個替代了你不想在這個論壇上顯示的實際URL。

NetURL必須是一個絕對URL,即

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

此外,在您提供您所留下的「L」斷HostURL在第二行代碼到底,如果這是在你的實際代碼中,顯然這個變量不會被傳遞給你的aspx頁面。

最後,它不是一個錯誤,但我建議使用MSXML2.ServerXMLHTTP.6.0,而不是3.0 - 它調用最新的MSXML

的版本
相關問題