python+httplib实现HTTP POST提交数据,使用Basic Authentication(基本验证)做登陆验证

  1. #!/usr/bin/env python 
  2. # _*_ coding: utf-8 _*_ 
  3. import base64 
  4. import urllib 
  5. import httplib 
  6.  
  7. os = 'xp' 
  8. eth0_ip = '192.168.1.1' 
  9.  
  10. params = urllib.urlencode({"os": os, "eth0_ip": eth0_ip}) 
  11. auth = base64.b64encode('cleartext username'':''cleartext passwords'
  12. headers = {"Authorization""Basic "+ auth} 
  13. conn = httplib.HTTPConnection("10.10.10.10"
  14. conn.request("POST","/my/cgi-bin/test.sh", params, headers) 
  15. response = conn.getresponse() 
  16. #print response.status 
  17. print response.read().strip() 

urllib.urlencode此处起到的作用仅是将要post的数据做成标准的格式,也可以手动敲,即params = 'os=xp&eth0_ip=192.168.1.1',这和params = urllib.urlencode({"os": os, "eth0_ip": eth0_ip}) 的结果一致。