HTTPRequest

HTTPRequest[url]

指定されたURLについてのHTTPリクエストを表す.

HTTPRequest[assoc]

連想 assoc 中の成分から構築されたHTTPリクエストを表す.

HTTPRequest[url,assoc]

assoc で与えられるヘッダ等の追加的要素を含む,指定されたURLについてのHTTPリクエストを表す.

詳細とオプション

  • HTTPRequestはHTTPリクエストの記号表現を与えるが,リクエストを実行することはしない.
  • HTTPRequest[url]url は,文字列,URLオブジェクトあるいはクラウドオブジェクトでよい.
  • URLは連想中に次の成分を与えることで指定することもできる.
  • "Scheme"URLスキーム
    "User"ユーザ情報
    "Domain"ドメイン名あるいはホスト
    "Port"ポート番号(整数で)
    "Path"パスのリストあるいは文字列
    "Query"クエリ文字列あるいはパラメータと値のペアのリスト
  • 次の追加的な要素も連想中に与えることができる.
  • 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"は,クッキーを表す連想の明示的なリストを与えることもある.
  • "Headers"の設定は,規則のリストあるいは連想でよい.
  • デフォルトの"UserAgent"は,通常は"Wolfram HTTPClient xxxx"である.xxxxはバージョン番号である.
  • HTTPRequestは次のオプションをサポートする.
  • CharacterEncodingAutomatic送信する文字列の文字コード
    CookieFunction Automatic受信した各クッキーに適用する関数
    FollowRedirects TrueHTTPリダイレクトを追跡するかどうか
    InteractiveTrueインタラクティブな認証ダイアログを認めるかどうか
    TimeConstraint Infinity応答の待ち時間
    VerifySecurityCertificates TrueSSLセキュリティ証明を確かめるかどうか
  • CharacterEncoding->"enc"の設定は,サーバに送信する前にリクエスト中のすべての文字列を文字コード enc を使って符号化するように指定する.
  • CharacterEncoding->Noneの設定は,サーバに送信する前に文字列に変更を加えないように指定する.
  • CharacterEncoding->Automaticとすると,"ContentType"要素が指定されている場合はここから符号化が取られる.それ以外の場合は"UTF8"が使われる.
  • TimeConstraint->t では,HTTPリクエストで指定されたURLとの接続とそこからの読出しに最大 t 秒が使われる.
  • TimeConstraint-><|"Connecting"->tc,"Reading"->tr|>はURLへの接続とそこからの読出しに別々のタイムアウトを設定する.
  • HTTPRequest[]["prop"]はHTTPリクエストの特性 prop の値を取り出す.
  • 使用可能な特性には,全成分と追加要素の他に次がある.
  • "Body"文字列としてのリクエストのボディ
    "BodyByteArray"ByteArrayオブジェクトとしてのリクエストの生のボディ
    "BodyBytes"バイト値のリストとしてのリクエストの生のボディ
    "FormRules"リクエスト中の全フォーム要素についての規則
    "PathString"文字列としての完全パス
    "QueryString"完全なクエリ文字列
    "AbsolutePath"スキームとドメインを含む文字列としての完全パス
    "AbsoluteDomain"スキームを含む文字列としての完全ドメイン
    "Properties"使用可能な全特性のリスト
    "PropertyAssociation"全特性の値を与える連想

例題

すべて開くすべて閉じる

  (1)

HTTPRequestを定義する:

URLReadを使ってHTTPResponseを得る:

リクエストからメタデータを取り出す:

スコープ  (2)

成分からURLを構築する:

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

同じ名前のパラメータが指定したければ,規則のリストを使うことができる:

リストにまとめることもできる:

パラメータをリストにグループ化することは,連想を扱う場合に繰り返しのキーが使えないので便利である:

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

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

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

ファイルの送信には,ファイルオブジェクトを使えばよい:

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

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

オプション  (4)

VerifySecurityCertificates  (1)

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

CookieFunction  (1)

HTTP応答で返された各クッキーを出力する:

TimeConstraint  (1)

サーバからデータをダウンロードする際の際長時間を秒単位で指定する:

FollowRedirects  (1)

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

特性と関係  (2)

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

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

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

考えられる問題  (1)

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

FailureオブジェクトはHTTPRequestオブジェクトを含んでいる:

おもしろい例題  (1)

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

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

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