title: deploying a war to tomcat using python
body: <p>I'm trying to deploy a war to a Apache Tomcat server (Build 6.0.24) using python (2.4.2) as part of a build process.</p>
  
  <p>I'm using the following code</p>
  
  <pre><code>import urllib2
  import base64
  
  war_file_contents = open('war_file.war','rb').read()
  
  username='some_user'
  password='some_pwd'
  
  base64string =  base64.encodestring('%s:%s' % (username, password))[:-1]
  authheader =  "Basic %s" % base64string
  
  opener = urllib2.build_opener(urllib2.HTTPHandler)
  request = urllib2.Request('http://localhost:8080/manager/deploy?path=war_file', data=war_file_contents)
  
  request.add_header('Content-Type', 'application/octet-stream')
  request.add_header("Authorization", authheader)
  
  request.get_method = lambda: 'PUT'
  url = opener.open(request)
  </code></pre>
  
  <p>the url.code is 200, and the url.msg is "OK". However the web archive doesn't appear on the manager list applications page.</p>
  
  <p>Thanks.</p>