2013-12-12 11 views
8
में WinHttp.WinHttpRequest.5.1 का उपयोग कर

मैं लिंक खोजक बनाने की कोशिश कर रहा था और 2 मुद्दे का सामना करना पड़अतुल्यकालिक HttpRequest एएसपी

अंक 1 (समाधित) :: पुनः निर्देशित पेज का यूआरएल प्राप्त करने में असमर्थ

यह WinHttp.WinHttpRequest.5.1

समस्या 2 (अनसुलझी) :: उपयोग करने में असमर्थ WinHttp.WinHttpRequ का उपयोग करके REFERNCE LINK हल किया गया था est.5.1 अतुल्यकालिक अनुरोध करने के लिए घटनाएँ या कोई कॉलबैक आपत्ति

तुल्यकालिक अनुरोध कोड

Set req = CreateObject("WinHttp.WinHttpRequest.5.1") 
req.open "GET", url, FALSE 
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
req.send PostData 

यह ठीक काम कर रहा है लेकिन अगर मैं multuple अनुरोध किया है, तो ज्यादा समय के लिए अपनी ले। दूरस्थ सर्वर मशीन मौजूद नहीं है या अनुपलब्ध है -

मैं निम्नलिखित अतुल्यकालिक अनुरोध कोड लेकिन मिल त्रुटि

Set req = CreateObject("WinHttp.WinHttpRequest.5.1") 
req.open "GET", url, TRUE 
req.OnReadyStateChange = GetRef("req_OnReadyStateChange") 
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
req.send PostData 

Function req_OnReadyStateChange 
    ' do something 
End Function 

कोड 1

Set req = CreateObject("WinHttp.WinHttpRequest.5.1","req_") 
req.open "GET", url, TRUE 
Function req__OnResponseFinished 
    ' do something 
End Function 
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
req.send PostData 

त्रुटि की कोशिश की है : 'CreateObject'

कोड 2

Set req = CreateObject("WinHttp.WinHttpRequest.5.1") 
req.open "GET", url, TRUE 
req.OnResponseFinished = GetRef("req_OnResponseFinished") 
Function req_OnResponseFinished 
    ' do something 
End Function 
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
req.send PostData 

त्रुटि: ऑब्जेक्ट इस गुण या विधि का समर्थन नहीं करता: 'req.OnResponseFinished

कोड 3

Set req = CreateObject("WinHttp.WinHttpRequest.5.1") 
req.open "GET", url, TRUE 
req.OnReadyStateChange = GetRef("req_OnReadyStateChange") 
req.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
req.send PostData 
Function req_OnReadyStateChange 
    ' do something 
End Function 

माइक्रोसॉफ्ट दस्तावेज में, उन्होंने WinHttp.WinHttpRequest.5.1 को 4 ईवेंट का संदर्भ दिया है।

  1. OnError
  2. OnResponseDataAvailable
  3. OnResponseFinished
  4. OnResponseStart

लेकिन मैं कैसे इस घटना का उपयोग करने का उदाहरण नहीं मिला था, और न ही मैं इन घटना का उपयोग करने में सक्षम हूँ एएसपी।

त्वरित प्रतिक्रिया के लिए आशा है ...

उत्तर

2

क्या आपने "req_OnReadyStateChange" के लिए फ़ंक्शन के बजाय उप का उपयोग करने का प्रयास किया है?

जिस तरह से मैं MSXML2.ServerXMLHTTP ऑब्जेक्ट का उपयोग कर रहा हूं और यह ठीक काम कर रहा है। क्या कोई कारण है कि आप इस WinHttp API का उपयोग क्यों कर रहे हैं? MSXML2.ServerXMLHTTP साथ

उदाहरण:

<% 
dim url : url = "http://localhost" 
dim XmlHttp : set XmlHttp = server.createobject("MSXML2.ServerXMLHTTP") 
XmlHttp.onreadystatechange = getRef("doHttpReadyStateChange") 
XmlHttp.open "GET", url, true 
XmlHttp.send() 

sub doHttpReadyStateChange 
    response.write XmlHttp.readyState 
    response.write "<br>" 

    select case XmlHttp.readyState 
     case 0 'UNINITIALIZED 

     case 1 'LOADING 

     case 2 'LOADED 

     case 3 'INTERACTIVE 

     case 4 'COMPLETED 
      response.write "Done" 
    end select 
end sub 
%> 
+0

हाँ, मैं पुनर्निर्देशन Thats क्यों मैं WinHttp.WinHttpRequest.5.1 उपयोग कर रहा हूँ के बाद अंतिम URL की जरूरत है। अधिक जानकारी के लिए http://stackoverflow.com/questions/20358654/serverxmlhttp-request-returing-data-but-not-returning-url-of-final-page-after-30 –

+0

@Dr_Dang ठीक है और क्या आपने OnReadyStateChange ईवेंट के फ़ंक्शन के बजाय उप का उपयोग करने का प्रयास किया है? – ulluoink

संबंधित मुद्दे