HTTP access

Web ページアクセス

Web page にアクセスしようと思えば、TCP 接続で Web server の http ポート(標準: 80)にアクセスすれば大丈夫です。

ただ、HTTP protocol を理解してないといけません(「http telnet」などで検索すると、感じが分かってもらえるかと)。 https のサイトにアクセスするなら TLS の使い方(handshake や公開鍵認証の仕方)も分かっていないといけません。 そんなの、各自がプログラムに書いていたら大変です。

Python の標準ライブラリにはurllibというのがあるのですが、 もう少し気楽に text を扱える Requests というHTTPライブラリもあるので、そちらの例を紹介しておきます。簡単な使い方はquickstartのページを見てください。

それと、標準ライブラリ以外を使うので、pip を用いてライブラリ登録をしないといけないです。各環境に合わせた操作をおこなってください。

  • PyCharm では、プロジェクト直下の requirements.txt を表示すると、不足しているパッケージがインストールできる。
  • VS Code では、terminal で、python -m pip install --user -r requirements.txt を実行すると、同じく不足パッケージのインストールが可能です。

url_access.py

# requests というライブラリを利用する宣言
import requests

def url_access():
    url_string = 'https://www.nc.ii.konan-u.ac.jp/projects/cloudSysPractice/'
    # requests ライブラリの get 関数を利用
    response = requests.get(url_string)  # URL のテキストを取得
    response.encoding = response.apparent_encoding  # 文字コード設定
    print(response.text)
  • ライブラリを利用する場合、import requests のように利用ライブラリを宣言する
    • 利用側では、requests.get(...) とライブラリ名と関数名を指定して利用
    • 実は、冒頭に from requests import get とすれば、利用側は get(...) でも OK *(まあでも、このケースでは紛らわしくなりそうなので、そうしてない)
  • 前述したように、ライブラリを利用するためには、事前にライブラリを配置する必要があるが、requirements.txt などで指定すれば、pip が自動でネットワーク経由で取得してくれる。