python+httplib實現HTTP POST提交數據,使用Basic Authentication(基本驗證)做登陸驗證
- #!/usr/bin/env python
- # _*_ coding: utf-8 _*_
- import base64
- import urllib
- import httplib
- os = 'xp'
- eth0_ip = '192.168.1.1'
- params = urllib.urlencode({"os": os, "eth0_ip": eth0_ip})
- auth = base64.b64encode('cleartext username'+ ':'+ 'cleartext passwords')
- headers = {"Authorization": "Basic "+ auth}
- conn = httplib.HTTPConnection("10.10.10.10")
- conn.request("POST","/my/cgi-bin/test.sh", params, headers)
- response = conn.getresponse()
- #print response.status
- print response.read().strip()
urllib.urlencode此處起到的作用僅是將要post的數據做成標準的格式,也可以手動敲,即params = 'os=xpð0_ip=192.168.1.1',這和params = urllib.urlencode({"os": os, "eth0_ip": eth0_ip}) 的結果一致。