URLRead

URLRead[url]

URLにリクエストを送り,応答を復唱し,これを応答オブジェクトとして返す.

URLRead[assoc]

成分とメタデータ要素の連想から作られたURLにリクエストを送る.

URLRead[HTTPRequest[]]

記号HTTPRequestオブジェクトで指定されたリクエストを送る.

URLRead[req,"elem"]

応答からの要素 elem のみを返す.

URLRead[req,{"elem1","elem2",}]

要素 elemiの値の連想を返す.

URLRead[{req1,req2,},]

リクエスト reqiを並列で送り,得られた結果のリストを与える.

詳細とオプション

  • URLRead[url]url は,文字列,URLオブジェクトあるいはクラウドオブジェクトでよい.
  • URLは,連想中の次の成分を与えることで指定できる.
  • "Scheme"URLスキーム
    "User"ユーザ情報
    "Domain"ドメイン名またはホスト
    "Port"ポート番号(整数で)
    "Path"パスのリストまたは文字列
    "Query"クエリ文字列またはパラメータと値のペアのリスト
  • 次の追加的な実体も,HTTPRequest中と同じように連想に含むことができる.
  • Method"GET"HTTPリクエストに使うメソッド
    "Body"""送信するメッセージボディのコンテンツ
    "ContentType"Automaticリクエストのコンテントタイプヘッダ
    "Username"""リクエストに使用するユーザ名
    "Password"""リクエストに使用するパスワード
    "Cookies"Automaticサーバに送信するクッキー
    "UserAgent"Automatic送信するユーザエージェント文字列
    "Headers"{}サーバに送信するヘッダのリスト
  • "Body"の設定には以下が使える.
  • "string"文字通り送信する文字列
    ByteArray[]文字通り送信するバイト配列
    {b1,b2,b3,}文字通り送信するバイトリスト
    {"par1""val1","par2""val2",}URL符号化で送信するパラメータと値のリスト
    {"par1"{"val11",},}単一のパラメータに関連付けられた複数の値のリスト
    <|"key1"val1,"key2"val2,|>パラメータと値のリストの代替形
    {"par1"File[],"par2"File[],}マルチパート符号化で送信されるファイル
    {"par1"assoc1,}各部分の詳細指定があるマルチパート符号化
  • マルチパート符号化における各部分の詳細指定は,次の要素の連想として与えられる.
  • "Content"文字列,バイト配列,ファイルオブジェクト等としてのコンテンツ
    "Name"各部分に割り当てる名前
    "MIMEType"各部分に割り当てるMIMEタイプ
  • "Cookies"->Automaticの設定は,url に対応するドメインについての$Cookiesからのクッキーを送信するように指定する."Cookies"は,クッキーを表す明示的な連想のリストを与えることもできる."Cookies"->Noneはクッキーを送信しないように指定する.
  • デフォルトの"UserAgent"は,大抵の場合は"Wolfram HTTPClient xxxx"である.xxxxはバージョン番号である.
  • "Headers"の設定は規則のリストまたは連想でよい.
  • URLRead[req,elem]では,次の要素を使うことができる.
  • "Body"文字列としての応答のボディ
    "BodyByteArray"バイト配列として応答の生のボディ
    "BodyBytes"バイト値のリストとしての応答の生のボディ
    "Headers"応答で受信したヘッダのリスト
    "Cookies"応答で受信したクッキーのリスト
    "ContentType"コンテントタイプヘッダ
    "StatusCode"サーバが返した状態コード
    "StatusCodeDescription"状態コードのテキストでの説明
    "Stream"応答のボディを読むストリームオブジェクト
    {elem1,elem2,}要素 elemiの連想
    Automatic記号HTTPResponseオブジェクト
    All全要素の連想
  • URLReadは次のオプションをサポートする.
  • AuthenticationAutomatic送信する認証情報
    CharacterEncodingAutomatic受信した文字列の文字コード
    ConnectionSettingsAutomatic接続のスピードその他の設定
    CookieFunction Automatic受信した各クッキーに適用する関数
    FollowRedirects TrueHTTPリダイレクトをフォローするかどうか
    InteractiveTrueインタラクティブな認証ダイアログを許可するかどうか
    TimeConstraint Infinity応答の待ち時間
    VerifySecurityCertificates TrueSSLセキュリティ証明を確かめるかどうか
  • CharacterEncoding->"enc"の設定は,サーバへ送信する前にリクエスト中のすべての文字列を文字コード enc を使って符号化するように指定する.
  • CharacterEncoding->Noneの設定は,サーバへ送信する前に文字列に変更を加えないように指定する.
  • CharacterEncoding->Automaticとすると,"ContentType"要素が指定されている場合は文字コードがそこから取られる.それ以外の場合は"UTF8"が使われる.
  • TimeConstraint->t は,URLへの接続とそこからの読取り時間を最大 t 秒とする.
  • TimeConstraint-><|"Connecting"->tc,"Reading"->tr|>はURLへの接続とそこからの読取りに別々の時間制限を設ける.

例題

すべて開くすべて閉じる

  (2)

URLを取り出し,HTTP応答を取り戻す:

第2引数を使ってHTTP応答の別の要素を得る:

より複雑なリクエストにはHTTPRequestを使うことができる:

スコープ  (2)

成分からURLを構築する:

指定されたURLについてクエリパラメータとスキームを変える:

同じ名前のパラメータを指定する場合は,規則のリストを使うことができる:

リストを使ってグループ化することもできる:

リストを使ったパラメータのグループ化は,連想にはキーの繰り返しが使えないので,連想を使う場合に役に立つ:

"Method"が指定されていない場合は,"GET"が自動的に使われる:

ボディは生の文字列でよい:

ボディがURL符号化されたHTTPリクエストを送る場合は,値のリストを送ればよい."Method"が指定されていないと,"POST"が自動的に使われる:

ファイルを送る場合は,ファイルオブジェクトを使うとよい:

より複雑なファイル指定を送る場合は,Associationを使うことができる:

Association中のコンテンツは,文字列,ByteArray,あるいはFileでよい:

オプション  (4)

CookieFunction  (1)

HTTP応答が受信されたときに,受信された各クッキーに関数を適用する:

FollowRedirects  (1)

URLを取り出すときにHTTPリダイレクトに従うかどうかを指定する:

TimeConstraint  (1)

サーバからのデータのダウンロードに使う最大割当て時間を秒で指定する:

VerifySecurityCertificates  (1)

サーバのSSL証明が有効なことを確かめる:

特性と関係  (3)

FileCloudObjectは完全にサポートされている:

URLDownloadを使ってファイルに出力を保存する:

HTTP上のWolfram言語式を直接ロードするためにGetを使う:

ImportあるいはURLExecuteを使ってリクエストをインポートする:

考えられる問題  (1)

ネットワークリクエストがうまくいかない理由はいくつか考えられる.理由のデバッグのためにメッセージが送られ,Failureオブジェクトが返される:

FailureオブジェクトにはHTTPRequestオブジェクトが含まれている:

おもしろい例題  (1)

APIFunctionをインポート(Import)する:

Wolfram Research (2016), URLRead, Wolfram言語関数, https://reference.wolfram.com/language/ref/URLRead.html.

テキスト

Wolfram Research (2016), URLRead, Wolfram言語関数, https://reference.wolfram.com/language/ref/URLRead.html.

CMS

Wolfram Language. 2016. "URLRead." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/URLRead.html.

APA

Wolfram Language. (2016). URLRead. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/URLRead.html

BibTeX

@misc{reference.wolfram_2024_urlread, author="Wolfram Research", title="{URLRead}", year="2016", howpublished="\url{https://reference.wolfram.com/language/ref/URLRead.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_urlread, organization={Wolfram Research}, title={URLRead}, year={2016}, url={https://reference.wolfram.com/language/ref/URLRead.html}, note=[Accessed: 22-November-2024 ]}