21. インターネットプロトコルとサポート
**************************************

この章で記述されるモジュールは、インターネットプロトコルを実装し、関連
技術をサポートします。それらは全てPythonで実装されています。これらのモ
ジュールの大部分は、システム依存のモジュール "socket" が存在することが
必要ですが、これは現在ではほとんどの一般的なプラットフォーム上でサポー
トされています。ここに概観を示します:

* 21.1. "webbrowser" --- 便利なウェブブラウザコントローラー

  * 21.1.1. ブラウザコントローラーオブジェクト

* 21.2. "cgi" --- CGI (ゲートウェイインタフェース規格) のサポート

  * 21.2.1. はじめに

  * 21.2.2. cgi モジュールを使う

  * 21.2.3. 高水準インタフェース

  * 21.2.4. 関数

  * 21.2.5. セキュリティへの配慮

  * 21.2.6. CGI スクリプトを Unix システムにインストールする

  * 21.2.7. CGI スクリプトをテストする

  * 21.2.8. CGI スクリプトをデバッグする

  * 21.2.9. よくある問題と解決法

* 21.3. "cgitb" --- CGI スクリプトのトレースバック管理機構

* 21.4. "wsgiref" --- WSGI ユーティリティとリファレンス実装

  * 21.4.1. "wsgiref.util" -- WSGI 環境のユーティリティ

  * 21.4.2. "wsgiref.headers" -- WSGI レスポンスヘッダツール群

  * 21.4.3. "wsgiref.simple_server" -- シンプルな WSGI HTTP サーバ

  * 21.4.4. "wsgiref.validate" --- WSGI 準拠チェッカー

  * 21.4.5. "wsgiref.handlers" -- サーバ／ゲートウェイのベースクラス

  * 21.4.6. 使用例

* 21.5. "urllib" --- URL を扱うモジュール群

* 21.6. "urllib.request" --- URL を開くための拡張可能なライブラリ

  * 21.6.1. Request オブジェクト

  * 21.6.2. OpenerDirector オブジェクト

  * 21.6.3. BaseHandler オブジェクト

  * 21.6.4. HTTPRedirectHandler オブジェクト

  * 21.6.5. HTTPCookieProcessor オブジェクト

  * 21.6.6. ProxyHandler オブジェクト

  * 21.6.7. HTTPPasswordMgr オブジェクト

  * 21.6.8. HTTPPasswordMgrWithPriorAuth オブジェクト

  * 21.6.9. AbstractBasicAuthHandler オブジェクト

  * 21.6.10. HTTPBasicAuthHandler オブジェクト

  * 21.6.11. ProxyBasicAuthHandler オブジェクト

  * 21.6.12. AbstractDigestAuthHandler オブジェクト

  * 21.6.13. HTTPDigestAuthHandler オブジェクト

  * 21.6.14. ProxyDigestAuthHandler オブジェクト

  * 21.6.15. HTTPHandler オブジェクト

  * 21.6.16. HTTPSHandler オブジェクト

  * 21.6.17. FileHandler オブジェクト

  * 21.6.18. DataHandler オブジェクト

  * 21.6.19. FTPHandler オブジェクト

  * 21.6.20. CacheFTPHandler オブジェクト

  * 21.6.21. UnknownHandler オブジェクト

  * 21.6.22. HTTPErrorProcessor オブジェクト

  * 21.6.23. 使用例

  * 21.6.24. レガシーインターフェース

  * 21.6.25. "urllib.request" の制限事項

* 21.7. "urllib.response" --- urllib で使用するレスポンスクラス

* 21.8. "urllib.parse" --- URL を解析して構成要素にする

  * 21.8.1. URL の解析

  * 21.8.2. ASCII エンコードバイト列の解析

  * 21.8.3. 構造化された解析結果

  * 21.8.4. URL のクオート

* 21.9. "urllib.error" --- urllib.request が投げる例外

* 21.10. "urllib.robotparser" ---  robots.txt のためのパーザ

* 21.11. "http" --- HTTP モジュール群

  * 21.11.1. HTTP ステータスコード

* 21.12. "http.client" --- HTTP プロトコルクライアント

  * 21.12.1. HTTPConnection オブジェクト

  * 21.12.2. HTTPResponse オブジェクト

  * 21.12.3. 使用例

  * 21.12.4. HTTPMessage オブジェクト

* 21.13. "ftplib" --- FTPプロトコルクライアント

  * 21.13.1. FTP オブジェクト

  * 21.13.2. FTP_TLS オブジェクト

* 21.14. "poplib" --- POP3 プロトコルクライアント

  * 21.14.1. POP3 オブジェクト

  * 21.14.2. POP3 の例

* 21.15. "imaplib" --- IMAP4 プロトコルクライアント

  * 21.15.1. IMAP4 オブジェクト

  * 21.15.2. IMAP4 の使用例

* 21.16. "nntplib" --- NNTP プロトコルクライアント

  * 21.16.1. NNTP オブジェクト

    * 21.16.1.1. 属性

    * 21.16.1.2. メソッド

  * 21.16.2. ユーティリティー関数

* 21.17. "smtplib" --- SMTP プロトコルクライアント

  * 21.17.1. SMTP オブジェクト

  * 21.17.2. SMTP 使用例

* 21.18. "smtpd" --- SMTP サーバー

  * 21.18.1. SMTPServer オブジェクト

  * 21.18.2. DebuggingServer オブジェクト

  * 21.18.3. PureProxy オブジェクト

  * 21.18.4. MailmanProxy Objects

  * 21.18.5. SMTPChannel オブジェクト

* 21.19. "telnetlib" --- Telnet クライアント

  * 21.19.1. Telnet オブジェクト

  * 21.19.2. Telnet Example

* 21.20. "uuid" --- UUID objects according to **RFC 4122**

  * 21.20.1. 使用例

* 21.21. "socketserver" --- ネットワークサーバのフレームワーク

  * 21.21.1. サーバ生成に関するノート

  * 21.21.2. Serverオブジェクト

  * 21.21.3. Request Handler Objects

  * 21.21.4. 使用例

    * 21.21.4.1. "socketserver.TCPServer" の例

    * 21.21.4.2. "socketserver.UDPServer" の例

    * 21.21.4.3. 非同期処理の Mix-in

* 21.22. "http.server" --- HTTP サーバ

* 21.23. "http.cookies" --- HTTPの状態管理

  * 21.23.1. Cookieオブジェクト

  * 21.23.2. Morselオブジェクト

  * 21.23.3. 使用例

* 21.24. "http.cookiejar" --- HTTP クライアント用の Cookie 処理

  * 21.24.1. CookieJar および FileCookieJar オブジェクト

  * 21.24.2. FileCookieJar のサブクラスと web ブラウザとの連携

  * 21.24.3. CookiePolicy オブジェクト

  * 21.24.4. DefaultCookiePolicy オブジェクト

  * 21.24.5. Cookieオブジェクト

  * 21.24.6. 使用例

* 21.25. "xmlrpc" --- XMLRPC サーバーとクライアントモジュール

* 21.26. "xmlrpc.client" --- XML-RPC クライアントアクセス

  * 21.26.1. ServerProxy オブジェクト

  * 21.26.2. DateTime オブジェクト

  * 21.26.3. Binary オブジェクト

  * 21.26.4. Fault オブジェクト

  * 21.26.5. ProtocolError オブジェクト

  * 21.26.6. MultiCall オブジェクト

  * 21.26.7. 補助関数

  * 21.26.8. クライアントのサンプル

  * 21.26.9. クライアントとサーバーの利用例

* 21.27. "xmlrpc.server" --- 基本的なXML-RPCサーバー

  * 21.27.1. SimpleXMLRPCServer オブジェクト

    * 21.27.1.1. SimpleXMLRPCServer の例

  * 21.27.2. CGIXMLRPCRequestHandler

  * 21.27.3. XMLRPC サーバの文書化

  * 21.27.4. DocXMLRPCServer オブジェクト

  * 21.27.5. DocCGIXMLRPCRequestHandler

* 21.28. "ipaddress" --- IPv4/IPv6 操作ライブラリ

  * 21.28.1. 便利なファクトリ関数

  * 21.28.2. IP アドレス

    * 21.28.2.1. Address オブジェクト

    * 21.28.2.2. 文字列と整数への変換

    * 21.28.2.3. 演算子

      * 21.28.2.3.1. 比較演算子

      * 21.28.2.3.2. 算術演算

  * 21.28.3. IP ネットワーク定義

    * 21.28.3.1. プリフィックス, ネットマスク、ホストマスク

    * 21.28.3.2. Network オブジェクト

    * 21.28.3.3. 演算子

      * 21.28.3.3.1. 論理演算子

      * 21.28.3.3.2. イテレーション

      * 21.28.3.3.3. アドレスのコンテナとしてのネットワーク

  * 21.28.4. インターフェイスオブジェクト

    * 21.28.4.1. 演算子

      * 21.28.4.1.1. 論理演算子

  * 21.28.5. その他のモジュールレベル関数

  * 21.28.6. Custom Exceptions
