2011-07-28 24 views
5

मैं एक वेबपृष्ठ लाने और परिणाम को एक स्ट्रिंग में प्राप्त करना चाहता हूं, लेकिन मुझे नहीं पता कि यह कैसे करना है। मैं ऑनलाइन खोज करता हूं और यह नहीं जानता कि इसे कैसे किया जाए।लुआ: एक वेबपृष्ठ प्राप्त करें

उत्तर

11

मैं बस Lua Socket का उपयोग करता हूं जो http submodule के साथ आता है। आप जो भी कंटेनर चाहते हैं उसमें वेबपृष्ठ प्राप्त करने के लिए आप http.request का उपयोग कर सकते हैं (डिफ़ॉल्ट स्ट्रिंग है, लेकिन आप ltn12 फ़िल्टर और सिंक का उपयोग कर एक टेबल, एक फ़ाइल, stdio, ... का उपयोग कर सकते हैं)।

एक उदाहरण के रूप: यह

http.get("https://nodemcu.readthedocs.io/en/master/en/modules/http/", nil, function(code, data) 
    if (code != 200) then 
     print("HTTP request failed") 
    else 
     print(code, data) 
    end 
end) 

:

local http=require'socket.http' 
body,c,l,h = http.request('http://w3.impa.br/~diego/software/luasocket/http.html') 
print('status line',l) 
print('body',body) 
2

यदि आपको कोई सटीक http क्लाइंट लाइब्रेरी नहीं मिल रही है, तो आप स्वयं को कार्यान्वित कर सकते हैं, या someone else's work पर निर्माण कर सकते हैं।

उस लिंक में, हालांकि इसे libhttpd कहा जाता है, लेकिन लेखक स्पष्ट रूप से कहता है कि इसका उपयोग किसी भी चीज़ के लिए किया जा सकता है। लुआ सॉकेट के चारों ओर एक और प्रयोग करने योग्य रैपर की तरह लग रहा है।

0

आप सॉकेट (मेरे जैसे) है, तो नहीं है, लेकिन आप http पुस्तकालय/मॉड्यूल है, तो आप इस कोशिश कर सकते मेरे लिए काम करता है

आप दस्तावेज़ों में अधिक जानकारी प्राप्त कर सकते हैं https://nodemcu.readthedocs.io/en/master/en/modules/http/#httpget