initial checkin of www Tk examples
diff --git a/Demo/tkinter/www/www3.py b/Demo/tkinter/www/www3.py
new file mode 100755
index 0000000..eb8b07f
--- /dev/null
+++ b/Demo/tkinter/www/www3.py
@@ -0,0 +1,46 @@
+#! /usr/local/bin/python
+
+# www3.py -- print the contents of a URL on stdout
+# - error checking
+# - Error 302 handling
+
+import sys
+import urllib
+import types
+
+def main():
+	if len(sys.argv) != 2 or sys.argv[1][:1] == '-':
+		print "Usage:", sys.argv[0], "url"
+		sys.exit(2)
+	url = sys.argv[1]
+	fp = my_urlopen(url)
+	while 1:
+		line = fp.readline()
+		if not line: break
+		sys.stdout.write(line)
+
+def my_urlopen(url):
+	try:
+		fp = urllib.urlopen(url)
+		return fp
+	except IOError, msg:
+		if type(msg) == types.TupleType and len(msg) == 4:
+			m = msg[3]
+			if msg[1] == 302:
+				if m.has_key('location'):
+					url = m['location']
+					print 'Location:', url
+					return my_urlopen(url)
+				elif m.has_key('uri'):
+					url = m['uri']
+					print 'URI:', url
+					return my_urlopen(url)
+				print '(Error 302 w/o Location/URI header???)'
+			print msg[:3]
+			for line in m.headers:
+				sys.stdout.write(line)
+		else:
+			print msg
+		sys.exit(1)
+
+main()