質問: 最終的にはwebアプリケーションにLINEログインを仕込みたいだけのことなので、Python-flaskなどで実装すれば良い実例がたくさんあるのですが、後学のため、サーバーの挙動などを実際に目で見たく試行していたところ表題の質問にいきあたりましたので質問させて頂きたく。 ⬛︎やりたいこと ・MacのターミナルからcurlコマンドでLINEログインの挙動を確かめたい ⬛︎できていること ・ブラウザで、request_uriを入力し、リダイレクト先に移動して、認可コードの取得 ⬛︎状況 公式のドキュメントを見ながら進めております。 ドキュメント内認可リクエストの例 ``` https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id=1234567890&redirect_uri=https%3A%2F%2Fexample.com%2Fauth&state=12345abcde&scope=profile%20openid&nonce=09876xyz ``` これをもとに、自分のidなどに変更してリクエストを叩いたところ、ブラウザだと画面遷移して、最終のリダイレクトページまで設定したところにたどり着けるのですが、、、 curlコマンドでやると、 ``` ̃前略 ̃ JavaScript is disabled on your browser. Please enable JavaScript to use this site. ̃後略 ̃ ``` と表示され、どうやって自分の情報をPOSTしたら良いかわかりませんでしたので質問にあげました。 お答えいただける方がいらっしゃれば幸いです。宜しくお願いいたします。
回答: URL部分をシングルクォートで囲うと上手く行くと思います。 ``` curl 'https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id=1234567890&redirect_uri=https%3A%2F%2Fexample.com%2Fauth&state=12345abcde&scope=profile%20openid&nonce=09876xyz' ``` ステータスコードは`302`になるので、ブラウザと同じようにリダイレクト先を表示するには`-L`オプションも付与して ``` curl -L '上と同じURL' ``` とすれば良いです。 ちなみに、Google Chromeには、ブラウザでアクセスしたリクエストをcurl形式でコピーできる機能があります。 今回のようなことを行いたい場合に有用だと思います。