मैं wx/पायथन का उपयोग कर एक सुपर-सरल वर्चुअल इन/आउट बोर्ड बनाने की कोशिश कर रहा हूं। मैं सर्वर से मेरी अनुरोध जहाँ मैं डेटा भंडारण हो जाएगा में से एक के लिए जगह में निम्नलिखित कोड मिल गया है:पायथन URLLib/URLLib2 पोस्ट
data = urllib.urlencode({'q': 'Status'})
u = urllib2.urlopen('http://myserver/inout-tracker', data)
for line in u.readlines():
print line
कुछ भी नहीं विशेष वहाँ चल रहा है। मेरी समस्या यह है कि, मैं दस्तावेज़ों को कैसे पढ़ता हूं, इस पर आधारित है, इसे एक पोस्ट अनुरोध करना चाहिए क्योंकि मैंने डेटा पैरामीटर प्रदान किया है और यह नहीं हो रहा है।
if (!isset($_POST['q'])) { die ('No action specified'); }
echo $_POST['q'];
और हर बार मैं अपने अजगर अनुप्रयोग चलाने मैं 'कोई क्रिया निर्दिष्ट नहीं' पाठ मेरे कंसोल को मुद्रित: मुझे लगता है कि यूआरएल के लिए सूचकांक में इस कोड है। मैं अनुरोध ऑब्जेक्ट्स का उपयोग करके इसे लागू करने की कोशिश करने जा रहा हूं क्योंकि मैंने कुछ डेमो देखे हैं जिनमें उनमें शामिल हैं, लेकिन मुझे आश्चर्य है कि कोई मुझे यह समझाने में मदद कर सकता है कि मुझे इस कोड के साथ पोस्ट अनुरोध क्यों नहीं मिला है। धन्यवाद!
- संपादित -
इस कोड को काम और ठीक से अपना वेब पेज के लिए पोस्ट करता है:
data = urllib.urlencode({'q': 'Status'})
h = httplib.HTTPConnection('myserver:8080')
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
h.request('POST', '/inout-tracker/index.php', data, headers)
r = h.getresponse()
print r.read()
मैं अभी भी अनिश्चित हूं क्यों urllib2 पुस्तकालय पोस्ट नहीं है जब मैं डेटा पैरामीटर प्रदान - मेरे लिए दस्तावेज़ संकेत देते हैं कि यह चाहिए।
आप 'urllib2' का उपयोग क्यों नहीं कर रहे हैं? –
मैं हूं। 'Urllib2.urlopen'। मैं केवल पोस्ट डेटा एन्कोड करने के लिए urllib का उपयोग कर रहा हूँ। –