Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
ブログやってます。更新などはこちら。地方エンジニアの学習日記 背景 curlコマンドを使う際に毎回調べて実行しているのですがさすがに面倒なのでまとめてみました。 自分のevernoteからの転載なので誤記などあったら教えてください。 curl(カール)コマンドとは サーバから、もしくはサーバへデータ転送を行うコマンド。 FTP,SFTP,LDAP,TELNETなど多くのプロトコルに対応している。 F5アタックなんかもワンライナーでさくっとできる。(悪用禁止) 一番基本的な使い方はHTTPリクエストを実施し、 その内容を標準出力するといった使い方でしょうか。 jsonをパースしてくれるjqは必須なので入れておきましょう。 書式は下記 # HTTPリクエストを実施し結果を標準出力へ $ curl http://対象のURL #コンマや[]を使って範囲指定も出来る $ curl 'http://
PHPでのPOST送信には大まかに以下の様な4パターンほどの方法があります。 file_get_contents fopen fsockopen curl ただし、fopenに関してはfile_get_contentsとほぼ同じ様な処理なので、こういった方法もあるという参考程度にしてください。 簡単な送信であればfile_get_contentsを使う方法がベターです。 通信量が多い場合や、重い処理の場合はcURLを使うと良いです。 file_get_contentsを使った方法 $url = 'http://cppe.hol.es/post.php'; $data = array( 'msg' => 'メッセージ', ); $context = array( 'http' => array( 'method' => 'POST', 'header' => implode("\r\n",
$ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => 'http://hoge.com/fuga', CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query(['hoge' => 'fuga']), ]); $response = curl_exec($ch); curl_close($ch); 正解は、http_build_query するだけ! なんで? 一番の問題は、どちらのコードも動いてしまうこと。ただ、 bad.php はすごく時間がかかるので、やっちゃだめ。 headerを見てみると、good.php は Content-Type: application/x-www-form-urle
実はけっこう前からWebSocketの詳しい仕組みについて気になってて、遂に一念発起して調べてみた。何かとても良さげっぽい。 そもそもWebSocketとは Webにおいて双方向通信を低コストで行う為の仕組み。インタラクティブなWebアプリケーションではサーバから任意のタイミングでクライアントに情報の送信とかしたい事があって、例えばFacebookのチャットアプリみたいに多数のクライアントが一つのページにアクセスしてて誰かがメッセージを投稿するとそれをその他のユーザーに通知したい場合があって、そういった時に双方向通信の必要性が出てくる。 元々はWebにおいてはHTTPしか通信の選択肢が無くてHTTPのロングポーリング使って無理矢理双方向通信実現したりしてたんだけど、流石に無駄が多すぎるし辛いよねって事でWebSocketというプロトコルが作られた。 WebSocketにおいては、TCP上で
http://book.cakephp.org/2.0/ja/models/associations-linking-models-together.html http://blog.ecworks.jp/archives/268 http://qiita.com/kazu56/items/eaaa0c2d7294a28ac21c http://qiita.com/moriyant/items/b57ee4fc45af2fc03194 hasとbelongが、すぐどっちがどっちかわからなくなる。 「持っている」とかアバウトな言葉じゃなくてテーブル定義で教えてくれ。 結論 hasMany 相手テーブルに、自分テーブル.idへの外部キーがある。 hasOne hasManyだけど外部キーがUNIQUE。 belongsTo 自分のテーブルに、相手テーブル.idの外部キーがある。 hasAndB
マルチプロセスモデル : 接続ごとにプロセスをフォークするのでメモリがいっぱいになりやすい 利点 : メモリ空間が独立しているので、スクリプト言語が組み込みやすい 欠点 : 同時接続が増えるとメモリが欠乏しやすい → とは言え、モジュールを使えば、イベント駆動モデルにもできるよ。Nginxには及ばないけど。 イベント駆動モデル : 1プロセス内で、接続ごとにイベント処理を行う。1プロセス1CPUなので、CPUの数だけワーカープロセスが作成できる。 利点 : 接続数が増えても、プロセス数やスレッド数が増えない。消費メモリが増えない 欠点 : 1つのメモリ空間で動作するため、スクリプト言語を組み込めないことがある。 → とは言え、プロキシサーバとして利用すれば、スクリプト言語を呼び出せるよ。 ではApache HTTP Serverを利用するメリットは WindowsサーバだとApacheのほ
Apacheよりnginxの方が早い、という話を聞きました。それぞれのメリット/デメリットや速度比較について調べた内容をまとめます。 そもそもApacheとnginxは駆動方式が違う Apacheとnginxの大きな違いは駆動方式の違い。詳しくは下記サイトがわかりやすい。 http://dream-web.info/2013/12/19/533/ Apacheは、プロセス駆動アーキテクチャでマルチプロセス。これは、各リクエストをプロセスに割り当てて処理を行う。リクエストが大量に来た際、プロセスが同時に起動するのでオーバーヘッドが非常に大きくなるというデメリットがある。 nginxは、イベント駆動アーキテクチャ、シングルスレッドモデル。 シングルスレッドでループ処理をまわし、キューに溜まったイベントを処理していく処理方式(イベントループ方式)(node.jsなどでも採用)。プロセス数はCPU
remi(Les RPM de Remi - Repository)のrpmパッケージを使います。 http://rpms.famillecollet.com/ epelとremiのリポジトリを追加します。CentOS 6.5 (6系)用です。 # For CentOS 6.5, 6.4, ... % sudo rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm % sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm # For CentOS 7.0 $ sudo rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/7/
この記事は [クローラー/Webスクレイピング Advent Calendar 2015] の一つとして書きました。 公開遅いけど。ごめんね この記事の目標 curl コマンドの使い方を覚えつつ、スクレイピングをやっていきます。 この記事で紹介すること curl curl + grep curl -s curl + md5sum curl + md5sum + mail curl + cookie curl + cookie + xpath curl + xpath + xpath シェルスクリプト実行 用意するもの curl xpath libxml grep ruby nokogiri cookie pry 知っておくと便利な知識 css2 css3 xpath jq js への対応 基本方針は「JSに対応しない」 だって、リクエストヘッダ見てたらわかるもん。 curl コマンドでWE
ワンライナーWebサーバを集めてみた クライアントサイドのJavaScriptをいじっていて,不意にローカルファイルでは実行できない領域に踏み込んでしまうことがあると思います.最近では,HTTPSが必須であったり,HTTP2を使ってみたくなることもあります.とりあえず私が踏み込んでしまったのはWebWorkersですが,他にもWebRTCや・・・(思い出し中)・・・(見つからなかった)・・・などが該当します. そんな時にいちいちApacheやnginxを立ち上げるのも面倒なので,ちょっと検索した結果を残しておきます. [2018/4/18追記] 最近ではHTTPSを使用する必要が高まっています.これを受け,HTTPSに対応する方法が増えてきたので,全て網羅できませんが,可能な限り追記・変更を行いました. Python(SimpleHTTPServer)編 Pythonでは(バージョン2.4
JS+Node.jsによるWebクローラー/ネットエージェント開発テクニック 作者: クジラ飛行机出版社/メーカー: ソシム発売日: 2015/08/31メディア: 単行本この商品を含むブログ (2件) を見る→ 個人的学習ノートの目次 01:Webページのダウンロード 特に気になるところは無し。見直すとhttp モジュールと fs モジュールとかの理解が出来ていなかったので追記しています。 まあここ↓ var http = require('http'); // HTTPのモジュール var fs = require('fs'); // ファイル関連モジュール を見て、 Ruby と違ってモジュールのオブジェクトを何か変数に入れておかなきゃいけないんだな、とか、括弧が多いよな、というのが気になるところか。 あと、コールバックという概念が慣れない。順繰り進んでいく Ruby と違って、 N
はじめに 「最近、curlが楽しい」 というわけで、最近、curlでPOSTしたりDELETEしたりcookieからSessionを読み込んだりと触れ合う機会が多かったので、その時知ったものを備忘録も兼ねてまとめました。 なるべく実行コマンドとその結果の出力をセットで書くようにしています。 curlコマンドは便利 curlは便利です。 APIと触れ合っていると、 手軽に HTTPリクエストしたくなる色んなシーンに出会います。 「あれ? サーバー死んでる?」 「思ってたレスポンスと違うな、何が返されているんだ?」 「認証必須にしたんだけど、うっかり抜け道ないよね?」 「さくっとPOSTしてテスト用にデータ準備したいんだけど...」 ...etc こういった、とりあえず生で、くらいのテンションでHTTPリクエストしたいなら、curlは有力な選択肢の一つと思います。 もちろん、本格的な確認やデー
#引用/参考書籍 「よくわかるPHPの教科書」 「初めてのPHP5」 「パーフェクトPHP」 「体系的に学ぶ安全なWebアプリケーションの作り方」 「PHPスーパーサンプル」 「プロになるためのWeb技術入門」 インターネット上で情報をやりとりするということは、大事な内容をはがきに書いて相手に送るようなもの。その情報が相手に届くまでに誰に見られるかわからない。 #概要 HTTPはステートレスなプロトコル。「状態」を持てない。 例えば、「ログイン」ページの場合、「ログインしているかどうか」のチェックをする必要がある。 NG例) http://www.littleforest.jp/itemlist?login=ok loginパラメータを調べてokかどうかを調べる。 →→パラメータを容易に改変できてしまう。 解決策として、Cookieとセッションを使う。 Chromeで、Cookieを確認す
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く