Fixing broken links in doc, part 4: some more breaks and redirects
diff --git a/Doc/library/asyncio.rst b/Doc/library/asyncio.rst
index fb1d659..6900198 100644
--- a/Doc/library/asyncio.rst
+++ b/Doc/library/asyncio.rst
@@ -26,7 +26,7 @@
   implementations;
 
 * :ref:`transport <asyncio-transport>` and :ref:`protocol <asyncio-protocol>` abstractions
-  (similar to those in `Twisted <http://twistedmatrix.com/>`_);
+  (similar to those in `Twisted <https://twistedmatrix.com/trac/>`_);
 
 * concrete support for TCP, UDP, SSL, subprocess pipes, delayed calls, and
   others (some may be system-dependent);
diff --git a/Doc/library/crypto.rst b/Doc/library/crypto.rst
index 469ede4..8ad24c8 100644
--- a/Doc/library/crypto.rst
+++ b/Doc/library/crypto.rst
@@ -25,6 +25,5 @@
 Hardcore cypherpunks will probably find the cryptographic modules written by
 A.M. Kuchling of further interest; the package contains modules for various
 encryption algorithms, most notably AES.  These modules are not distributed with
-Python but available separately.  See the URL
-http://www.pycrypto.org  for more information.
-
+Python but available separately.  See the URL http://www.pycrypto.org/ for more
+information.
diff --git a/Doc/library/datetime.rst b/Doc/library/datetime.rst
index 8a55791..7dd8613 100644
--- a/Doc/library/datetime.rst
+++ b/Doc/library/datetime.rst
@@ -558,7 +558,7 @@
    Return a 3-tuple, (ISO year, ISO week number, ISO weekday).
 
    The ISO calendar is a widely used variant of the Gregorian calendar. See
-   http://www.phys.uu.nl/~vgent/calendar/isocalendar.htm for a good
+   http://www.staff.science.uu.nl/~gent0113/calendar/isocalendar.htm for a good
    explanation.
 
    The ISO year consists of 52 or 53 full weeks, and where a week starts on a
diff --git a/Doc/library/email.rst b/Doc/library/email.rst
index e9c62f2..95c0a2f 100644
--- a/Doc/library/email.rst
+++ b/Doc/library/email.rst
@@ -262,7 +262,7 @@
 -------------------------------
 
 The :mod:`email` package was originally prototyped as a separate library called
-`mimelib <http://mimelib.sf.net/>`_. Changes have been made so that method names
+`mimelib <http://mimelib.sourceforge.net/>`_. Changes have been made so that method names
 are more consistent, and some methods or modules have either been added or
 removed.  The semantics of some of the methods have also changed.  For the most
 part, any functionality available in :mod:`mimelib` is still available in the
diff --git a/Doc/library/importlib.rst b/Doc/library/importlib.rst
index 8ebb440..91328af 100644
--- a/Doc/library/importlib.rst
+++ b/Doc/library/importlib.rst
@@ -29,7 +29,7 @@
     :ref:`import`
         The language reference for the :keyword:`import` statement.
 
-    `Packages specification <https://www.python.org/doc/essays/packages.html>`__
+    `Packages specification <http://legacy.python.org/doc/essays/packages.html>`__
         Original specification of packages. Some semantics have changed since
         the writing of this document (e.g. redirecting based on ``None``
         in :data:`sys.modules`).
diff --git a/Doc/library/mimetypes.rst b/Doc/library/mimetypes.rst
index 12c9eca..f836243 100644
--- a/Doc/library/mimetypes.rst
+++ b/Doc/library/mimetypes.rst
@@ -44,7 +44,7 @@
 
    The optional *strict* argument is a flag specifying whether the list of known MIME types
    is limited to only the official types `registered with IANA
-   <http://www.iana.org/assignments/media-types/>`_.
+   <http://www.iana.org/assignments/media-types/media-types.xhtml>`_.
    When *strict* is ``True`` (the default), only the IANA types are supported; when
    *strict* is ``False``, some additional non-standard but commonly used MIME types
    are also recognized.
diff --git a/Doc/library/othergui.rst b/Doc/library/othergui.rst
index 73f868a..efb7cff 100644
--- a/Doc/library/othergui.rst
+++ b/Doc/library/othergui.rst
@@ -22,7 +22,7 @@
       `GNOME <http://www.gnome.org>`_.  An online `tutorial
       <http://www.pygtk.org/pygtk2tutorial/index.html>`_ is available.
 
-   `PyQt <http://www.riverbankcomputing.co.uk/software/pyqt/>`_
+   `PyQt <http://www.riverbankcomputing.co.uk/software/pyqt/intro>`_
       PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit.  Qt is an
       extensive C++ GUI application development framework that is
       available for Unix, Windows and Mac OS X. :program:`sip` is a tool
@@ -34,7 +34,7 @@
       with Python and Qt <http://www.qtrac.eu/pyqtbook.html>`_, by Mark
       Summerfield.
 
-   `PySide <http://www.pyside.org/>`_
+   `PySide <http://qt-project.org/wiki/PySide>`_
       is a newer binding to the Qt toolkit, provided by Nokia.
       Compared to PyQt, its licensing scheme is friendlier to non-open source
       applications.
diff --git a/Doc/library/pyexpat.rst b/Doc/library/pyexpat.rst
index cb8ab65..78aa99c 100644
--- a/Doc/library/pyexpat.rst
+++ b/Doc/library/pyexpat.rst
@@ -868,5 +868,5 @@
 .. [#] The encoding string included in XML output should conform to the
    appropriate standards. For example, "UTF-8" is valid, but "UTF8" is
    not. See http://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl
-   and http://www.iana.org/assignments/character-sets\ .
+   and http://www.iana.org/assignments/character-sets/character-sets.xhtml.
 
diff --git a/Doc/library/ssl.rst b/Doc/library/ssl.rst
index 503b04b..fb20793 100644
--- a/Doc/library/ssl.rst
+++ b/Doc/library/ssl.rst
@@ -1799,10 +1799,10 @@
    `RFC 4366: Transport Layer Security (TLS) Extensions <http://www.ietf.org/rfc/rfc4366>`_
        Blake-Wilson et. al.
 
-   `RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 <http://www.ietf.org/rfc/rfc5246>`_
+   `RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 <http://tools.ietf.org/html/rfc5246>`_
        T. Dierks et. al.
 
-   `RFC 6066: Transport Layer Security (TLS) Extensions <http://www.ietf.org/rfc/rfc6066>`_
+   `RFC 6066: Transport Layer Security (TLS) Extensions <http://tools.ietf.org/html/rfc6066>`_
        D. Eastlake
 
    `IANA TLS: Transport Layer Security (TLS) Parameters <http://www.iana.org/assignments/tls-parameters/tls-parameters.xml>`_
diff --git a/Doc/library/tkinter.rst b/Doc/library/tkinter.rst
index 0715a43..40e97bf 100644
--- a/Doc/library/tkinter.rst
+++ b/Doc/library/tkinter.rst
@@ -22,7 +22,7 @@
    `TKDocs <http://www.tkdocs.com/>`_
       Extensive tutorial plus friendlier widget pages for some of the widgets.
 
-   `Tkinter reference: a GUI for Python <http://infohost.nmt.edu/tcc/help/pubs/tkinter/>`_
+   `Tkinter reference: a GUI for Python <http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html>`_
       On-line reference material.
 
    `Tkinter docs from effbot <http://effbot.org/tkinterbook/>`_
diff --git a/Doc/library/xml.dom.minidom.rst b/Doc/library/xml.dom.minidom.rst
index 89c660a..ff5c270 100644
--- a/Doc/library/xml.dom.minidom.rst
+++ b/Doc/library/xml.dom.minidom.rst
@@ -252,4 +252,4 @@
    "UTF8" is not valid in an XML document's declaration, even though
    Python accepts it as an encoding name.
    See http://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl
-   and http://www.iana.org/assignments/character-sets\ .
+   and http://www.iana.org/assignments/character-sets/character-sets.xhtml.
diff --git a/Doc/library/xml.etree.elementtree.rst b/Doc/library/xml.etree.elementtree.rst
index fc0b79e..3263dc2a 100644
--- a/Doc/library/xml.etree.elementtree.rst
+++ b/Doc/library/xml.etree.elementtree.rst
@@ -1112,4 +1112,4 @@
 .. [#] The encoding string included in XML output should conform to the
    appropriate standards.  For example, "UTF-8" is valid, but "UTF8" is
    not.  See http://www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl
-   and http://www.iana.org/assignments/character-sets.
+   and http://www.iana.org/assignments/character-sets/character-sets.xhtml.