Pythonのインターネット上のデータを扱うについてです。
URLやHTTP通信、base64、emailの内容ですが、Requestsとemailは対象外になりますのでご注意ください。
要点
テキストの「14 インターネット上のデータを扱う」の内容について、自分なりにまとめた要点は以下です。
試験対象となるのは右半分です。ご参考になれば嬉しいです。
テキストの補足と訂正
- P331 14.3で紹介されたHTTPリクエストRequestsについて、インストールが必要的な記載はありませんでしたが、以下のようにインストールは必要のはずです。
pip install requests
- P337にb64encodeについて以下のような説明があります。
altchars引数を指定せずにURLで安全に利用可能なエンコード文字列を返す関数として、urlsafe_b64encode() があります。url_safe_b64encode()関数では「+」の代わりに「-」を仕様し、「/」の代わりに「_」が利用されます。
自分の環境で確認したところ、ここで紹介された後者の
url_safe_b64encode()
関数はurlの後ろにアンダースコアが一つ多く、誤りであり、urlsafe_b64encode()
が正しいようです。
余談
- ParseResultの属性には、netlocとhostnameがありますが、netlocはベーシック認証のユーザパスワードやホスト名、ポート全部合わせたものになりますが、hostnameはいわゆるFQDNにあたるところになります。
- ParseResultの属性にもうひとつ気になるところとして、paramsというものがあり、値はURL引数(「;」以降の文字列)になります。セミコロンがURLに入れられているところを見たことありませんでした。。paramsと言ったら、GETならquery、POSTならbody的なものだと思いましたが、パスの後ろに「;」で区切るとは。。
コメントを残す