カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

Invoke-webRequestとcurlコマンドでHTTPリクエスト

Invoke-webRequestとcurlコマンドを使えばCUI(Commandline User Interface)にてHTTPリクエストを送信することができます。
ここでは基本的な使い方をご紹介します。

Windowsの場合

まずはWindowsの場合です。
PowerShellでInvoke-webRequestコマンドを使います。

このコマンドにはエイリアスが設定されており、curl iwr wgetでも使えます。
curlはあくまでエイリアスなので、Linux・Macでのcurlとは異なりますのでご注意ください。

GETリクエスト
Invoke-webRequest https://www.hoge.jp
Invoke-webRequest -Method GET https://www.hoge.jp

パラメータを付加したリクエスト

Invoke-webRequest https://www.hoge.jp?key=value&key=value
Invoke-webRequest -Method "GET" -Body @{key="value";key="value"} https://www.hoge.jp
POSTリクエスト
Invoke-webRequest -Method "POST" -Body 'key=value&key=value' https://www.hoge.jp
Invoke-webRequest -Method "POST" -Body @{key="value";key="value"} https://www.hoge.jp

続きを読む…»

6,252 views

SSHコマンドの使い方

SSH(Secure Shell)でログインするにはsshコマンドを使用します。
オプションlでユーザー名を指定するか、@でユーザー名とホスト名を繋いで指定するかのどちらかの方法でログインします。

オプションlでユーザー名を指定する場合

ssh -l [username] [hostname]

ユーザー名@ホスト名で指定する場合

ssh [username]@[hostname]

その後、パスワードを聞かれますので、パスワードを打ち込めばSSHでログインできます。
ログイン後はサーバーのシェルでコマンドを実行する場合と同様の操作が可能です。

なお、SSHでの接続にはサーバーがSSHでのログインを許可している必要があります。

302 views

cURL(client for URL)

cURL(カール)は、HTTP・HTTPSやFTPなど様々なプロトコルを用いてデータを転送するライブラリとコマンドラインツールです。
最近のレンタルサーバーのPHPにはライブラリがデフォルトで組み込んであることもあります。

HTTPでデータを取得する

まず取得したいURLを設定

$url = "http://www.example.jp";

cURLを初期化し、ハンドルを取得します。

$ch = curl_init();

こちらにいきなりURLを入れてcurl_init($url)としても構いません。
ここではオプション設定を使用してURLを設定します。

curl_setopt($ch, CURLOPT_URL, $url);

メソッドの設定。GETを指定します。

curl_setopt($ch, CURLOPT_HTTPGET, true);

最後に取得したデータを文字列として取得するよう設定します。
続きを読む…»

654 views

コマンド一発でテキストファイル結合

コマンドたった1行打つだけで、テキストファイルを結合することができます。

Linuxの場合

$ cat *.csv > all/all.csv

Windowsの場合

$ type *.csv > all/all.csv
2,741 views

findとgrepを使ってファイルの中身を一括検索と置換

ホームページを制作していて、基幹に関わるファイル名等を変更したとき、サーバーにあるファイルのどのファイルから読み込まれているかを全て把握した上で変更しないといけないですよね。

小規模なサイトであれば問題はありませんが、大規模なサイトになると難しいこともあるでしょう。

これはサーバーが直接操作できる、もしくはsshでログインできる場合に限られますが、便利な方法をご紹介します。

findとgrepのコマンドを組み合わせてファイル内に該当ファイル名が記述されているファイルを探します。
例として「example.js」というファイルが読み込まれているhtmlファイルを探します。

find / -name '*.html' -type f | xargs grep -l 'example.js'

findコマンドのほうは、第1引数に探すディレクトリ(この場合ルート)、-nameオプションでファイル名を絞り込んでいます。
-type fは通常のファイルを指定しています。※シンボリックリンク等含まれない
続きを読む…»

4,596 views