मैं सिर्फ एक समारोह है कि 2 पैरामीटर ले जा सकते हैं करना चाहते हैं? धन्यवाद।पैरामीटर के शब्दकोश के साथ, यूआरएल में एक पोस्ट भेजने के लिए मैं पाइथन के प्रेजेंटप्लिब का उपयोग कैसे करूं?</p> <ul> <li>यूआरएल</li> <li>मापदंडों</li> </ul> <p>यह कैसे httplib साथ किया जा सकता का एक शब्दकोश में पोस्ट करने के लिए:
उत्तर
>>> import httplib, urllib
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> headers = {"Content-type": "application/x-www-form-urlencoded",
... "Accept": "text/plain"}
>>> conn = httplib.HTTPConnection("musi-cal.mojam.com:80")
>>> conn.request("POST", "/cgi-bin/query", params, headers)
>>> response = conn.getresponse()
>>> print response.status, response.reason
200 OK
>>> data = response.read()
>>> conn.close()
क्रेडिट जहां क्रेडिट देय है: इसे सीधे http://docs.python.org/release/2.6/library/httplib.html (या 2.5.2 या इससे पहले) से हटा दिया गया था, यह वर्षों से अधिक नहीं बदला है) – dland
क्या पैरामीटर उस प्रारूप में होना चाहिए? क्या वे कच्चे पाठ हो सकते हैं? –
हाँ आप कच्चे पाठ को पैराम्स के रूप में पास कर सकते हैं, 'urllib.urlencode' स्ट्रिंग को पार करने के लिए यूआरएल एन्कोडिंग का ख्याल रखता है, अगर आप इसे प्रिंट करते हैं तो आप देखेंगे कि यह सिर्फ एक स्ट्रिंग – Ole
एक सरल एक, बस urllib का उपयोग कर:
import urllib
params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
f = urllib.urlopen("http://www.example.org/cgi-bin/query", params)
print f.read()
अजगर डॉक्स में मिला के लिए urllib module
क्षमा करें, लेकिन यह शायद सबसे अधिक करता है HTTP प्राप्त करें, कोई पोस्ट नहीं – hko
@hko नहीं, यह उस urllib पृष्ठ पर POST उदाहरण से है। ध्यान दें कि पैरा% 'पैराम 'के बजाय' पैरा 'के साथ जोड़े गए हैं। –
urllib2 का उपयोग करें। http://stackoverflow.com/questions/321582/urllib2-data-sending। –