2010-08-18 9 views
18

पर प्राप्त/पोस्ट करें मुझे वीबी 6 से एक शानदार वेब सेवा में कुछ गेटिंग और पोस्ट करने की आवश्यकता है। ऐसा करने का सबसे अच्छा और सरल तरीका क्या है?रीस्टफुल वेब सेवा

+14

वीबी 6 में एक webservice उपभोग करने के लिए मेरी संवेदना। –

+2

@Ryan, कम से कम यह php से vb में कई कक्षाओं को फिर से लिखने और फिर उन्हें बनाए रखने से बेहतर है। और चूंकि मैं webservice बना रहा हूं, यह जितना संभव हो सके उतना आसान होगा, यानी कोई एक्सएमएल, जेसन इत्यादि। प्रतिक्रिया सिर्फ एक छोटी सी स्ट्रिंग (एक शब्द?) या संभवतः एक संख्या होगी। – Echo

+0

एलओएल मैं वापस सी # (वाया) एलओएल – garaber

उत्तर

24

आप MSXML पुस्तकालय के लिए एक संदर्भ जोड़ने की आवश्यकता होगी :

Dim sUrl As String 
Dim response As String 
Dim xmlhttp 

Set sUrl = "http://my.domain.com/service/operation/param" 

Set xmlhttp = Server.CreateObject("MSXML2.ServerXMLHTTP") 
xmlhttp.open "POST", sURL, False 
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
xmlhttp.send() 

Dim response As String = xmlhttp.responseText 

Set xmlhttp = Nothing 
+0

अद्भुत, बस जो मैं खोज रहा था। – Echo

+1

और आसानी से इंटरनेट एक्सप्लोरर के अंदर जावास्क्रिप्ट में XMLHTTPRequest का उपयोग करने के समान! –

+0

@ जस्टिन मेरे पास एमएसएक्सएमएल 2 नहीं है, मेरे पास MSXML.XMLHTTPRequest है, क्या यह समान है? – Echo

0

आप प्राप्त करने के लिए की जरूरत है/एक बाकी वेब सेवा से पोस्ट आप बस वेब सेवा का URL के लिए एक HTTP अनुरोध लिख सकते हैं:

http://www.webservicehost.com/webserviceop?<any parameters> 

आप उन्हें क्रमानुसार करने की आवश्यकता होगी आप जटिल वस्तुओं पारित करने के लिए की जरूरत है और फिर उन्हें पारित रूप में मानकों

फिर आप में जो कुछ भी प्रारूप वेब सेवा के रूप में (JSON, एक्सएमएल, आदि) लौटने का फैसला करता है HTTP प्रतिक्रिया प्राप्त कर सकते हैं

+1

पर जाना चाहता हूं आपका उत्तर यह नहीं पता कि वीबी 6 में इसे कैसे कार्यान्वित किया जाए। –

+0

मुझे लगता है कि गूंज सिद्धांतों को जानता है, और विशिष्ट vb6 सलाह की तलाश में है। – MarkJ

+1

yup, बस मुझे बस इतना ही आवश्यक है। मैं वीबी 6 को और अधिक धन्यवाद नहीं देता, अब मैं ज्यादातर PHP और कुछ अजगर के साथ काम करता हूं। – Echo

12

मुझे हाल ही में पुराने विरासत आवेदन में जीईटी अनुरोधों के लिए इसकी आवश्यकता है, और चूंकि स्वीकृत उत्तर संकलित नहीं होता है, इसलिए मैंने सोचा कि मैं कुछ कामकाजी कोड पोस्ट करूंगा। मुझे यकीन है कि यह भविष्य में वीबी 6 का उपयोग करके कुछ गरीबों की मदद करेगा;) यहां एक अच्छा साफ कार्य है।

Dim result As String 
Dim url As String 

url = "http://my.domain.com/service/operation/param" 
result = WebRequest(url) 

मुबारक VB6ing:

Public Function WebRequest(url As String) As String 
    Dim http As MSXML2.XMLHTTP 
    Set http = CreateObject("MSXML2.ServerXMLHTTP") 

    http.Open "GET", url, False 
    http.Send 

    WebRequest = http.responseText 
    Set http = Nothing 
End Function 

और यहाँ उदाहरण उपयोग है! :)

+0

खुश वीबी 6िंग जैसी कोई चीज़ नहीं है ... केवल दर्द और दुख .... –

+0

lol। मैं और अधिक सहमत नहीं हो सका। यह [सबसे डरावनी भाषा] है (https: // stackoverflow।कॉम/अंतर्दृष्टि/सर्वेक्षण/2017/# प्रौद्योगिकी-सबसे-प्यार-डरावनी और वांछित भाषाएं) 2017 में सभी के बाद;) – craftworkgames

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