質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
cURL

cURLはHTTP, FTPやTelnetなど複数のプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

5353閲覧

curlでブランクを含むコマンドが送れない

katosei

総合スコア32

cURL

cURLはHTTP, FTPやTelnetなど複数のプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

1グッド

2クリップ

投稿2019/03/07 05:00

目的

curlコマンドでimap接続

環境

OS:CentOS7
curlのバージョン:curl 7.64.0

やった事

コマンド

curl -u "user:password" --url "imap://imap.example.com/INBOX" -v -X "SEARCH ALL"

結果

一部抜粋 ~ログイン後~ < A004 OK [READ-WRITE] Select completed (0.007 + 0.000 + 0.007 secs). > A005 SEARCH < A005 BAD Error in IMAP command SEARCH: Missing search parameters (0.001 + 0.000 secs). < * BYE Logging out < A006 OK Logout completed (0.001 + 0.000 secs). * Closing connection 0 curl: (21) Quote command returned error * Could not resolve host: ALL * Closing connection 1 curl: (6) Could not resolve host: ALL

という感じで、"SEARCH ALL" の前半だけがコマンドとして入力され、ALLがURLと認識されてしまいます。

他にも試したコマンド

とにかくエスケープしてみた

-X "SEARCH ALL" -X 'SEARCH ALL' -X SEARCH\ ALL -X 'SEARCH\ ALL' -X 'SEARCH\ ALL' -X \'SEARCH\ ALL\' -X 'SEARCH\sALL' -X 'SEARCH\sALL' -X 'SEARCH' -X 'ALL' -X 'SEARCH[[:blank:]]ALL'

いずれもダメでした。
また--urlオプションと順番を入れ替えたり、--urlオプションを消したりしてもダメでした。

curl -u "user:password" -v -X "SEARCH ALL" imap://imap.example.com/INBOX

ネットで検索しても、特にエスケープ等はしていないように見えます。

一応$IFSを別の文字に置き換えてもダメでした。
引数を変数に入れてもダメでした。

もはやbashの問題ではなく、curlコマンドの仕様のように見えますが、
そうなると世間の人がなぜ出来ているのかわかりません。

何か解決法がありますか?

set0gut1👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

t_obara

2019/03/07 07:39

-X でリクエストしているので、URLエンコードすべきなのではないでしょうか(未確認)
katosei

2019/03/07 08:05

ありがとうございます! ``` -X "SEARCH%20ALL" ``` これで無事いけました。
guest

回答1

0

ベストアンサー

半角スペース→%20 でどうでしょうか。

投稿2019/03/26 12:21

kbabags

総合スコア232

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問