Scala で HTTP リクエストを行う
2023-09-03 03:24:36
質問
ScalaでXMLを返すウェブサービスに簡単なPOSTリクエストを発行しようとしています。
それは ディスパッチ がこのタスクに使われる標準ライブラリだと思われますが、それに関するドキュメントが見当たりません。上にリンクしたメインサイトでは、プロミスとは何か、非同期プログラミングの方法は長々と説明されていますが、実際にAPIのドキュメントがあるわけではありません。あるのは 周期表 - がありますが、これは何をすべきか既に知っていて、不可解な構文を思い出す必要がある人にしか役に立たないと思われます。
また、どうやら Scalaz には HTTP の機能もあるようですが、それに関するドキュメントも見当たりません。
どのように解決するのですか?
私は以下のように使っています。 https://github.com/scalaj/scalaj-http .
以下は簡単なGETリクエストです。
import scalaj.http.{Http, HttpOptions}
Http("http://example.com/search").param("q", "monkeys").asString
とPOSTの例を示します。
val result = Http("http://example.com/url").postData("""{"id":"12","json":"data"}""")
.header("Content-Type", "application/json")
.header("Charset", "UTF-8")
.option(HttpOptions.readTimeout(10000)).asString
Scalaj HTTPはSBTで利用可能です。
libraryDependencies += "org.scalaj" % "scalaj-http_2.11" % "2.3.0"
関連
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
[解決済み] ブラウザによって異なるURLの最大長とは?
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] java.net.URLConnectionを使用してHTTPリクエストを発生させ処理する方法
-
[解決済み] HTTP POSTリクエストでは、どのようにパラメータが送信されるのですか?
-
[解決済み] updateとdeleteのHTTPステータスコード?
-
[解決済み] カスタムHTTPヘッダー:命名規則
-
[解決済み] node.jsでHTTP POSTリクエストはどのように行われるのですか?
-
[解決済み] 検証失敗または重複が無効な場合のREST HTTPステータスコード
-
[解決済み】HTTPのPOSTとPUTの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
multipart/form-data と application/octet-stream, application/x-www-form-urlencoded の違いについて
-
[解決済み] Google ChromeでSPDYを無効にする方法
-
[解決済み] HTTP_CLIENT_IPとHTTP_X_FORWARDED_FORの違いは何ですか?
-
[解決済み] 404ヘッダー - HTTP 1.0か1.1か?
-
[解決済み] X-Forwarded-Hostヘッダーの実際の使用方法?
-
[解決済み] X-REQUEST-ID httpヘッダーとは何ですか?
-
[解決済み] POSTとPUT HTTP REQUESTの違いは何ですか?
-
[解決済み】REST APIでPATCHとPUTのどちらを使うべきですか?
-
[解決済み】URI、URL、URNの違いは何ですか?[重複] URIとURLとURNの違いは何ですか?
-
[解決済み】HTTPプロトコルでクッキーはどのように渡されるのですか?