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",
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
$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
この記事は [クローラー/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
curl_multiはselectシステムコールを使って同時に複数のHTTPリクエストを行うことができます。マルチスレッドやらマルチプロセスを使っているわけではなく、原理はnode.jsなんかと近いI/O多重化で、一度に一つのことしかしていません。 PHPのcurlはlibcurlのAPIをほぼ踏襲しており、ちょっと取っつきにくいです。クラスでラッピングして、curl_close()などはデストラクタで呼ばれるように自動化すると、もう少しすっきりすると思います。 <?php /** * curl_multiでHTTP複数リクエストを並列実行するテンプレ * */ //タイムアウト時間を決めておく $TIMEOUT = 10; //10秒 /* * 1) 準備 * - curl_multiハンドラを用意 * - 各リクエストに対応するcurlハンドラを用意 * リクエスト分だけ必要 * *
このドキュメントの内容は、以下の通りです。 はじめに HTTPレスポンスの構造 HTTPレスポンスヘッダを取得する サンプルコード 実行例 はじめに インターネットでは、たくさんのウェブサービスが提供されています。一般の利用者は、パソコンやスマホで、ウェブサービスにアクセスしています。ブラウザで検索エンジンやソーシャルネットワーキングなどのサイトにアクセスするとき、ブラウザとウェブサービスの間では、HTTPプロトコルなどを利用して、通信が行われ、サービス・情報が提供されます。 そのウェブサービスは、いろいろなシステムと通信をして、サービスを提供していることもありますし、ウェブサービスにプログラムでアクセスして、データの取得・更新などを行うこともあるでしょう。 インターネットでは、いろいろなプロトコルが利用されていますが、よく使われているプロトコルの1つがHTTPでしょう。 スクリプト言語の
cURL ライブラリ php には cURL ライブラリ があって、このCライブラリのラッパーを使うことでほとんどのネットワークリクエストを扱うことが出来る。 cURLの本家は http://curl.haxx.se/ で、ここでlibcurl を一式準備してC言語からネットワークリクエストが扱えるんだけど、良くわからないし、C言語自体の使い方にトラブルことも考えられる。 php のcURLを使うメリット パッケージとして提供されていて、どこでも簡単にHTTPリクエストを扱うことが出来る。 php だけで書かれたHTTPリクエストライブラリは設計が古臭かったりしてちょっと・・・ file_get_contentsでも出来るんだけど、敢えてcURLで作るのもなれると便利だったりするよ。 curl の基本的な使い方 php の libcurl 関数はC言語のそれと同じような感じになっていて、初
WebAPIの仕様を記述する方法はいくつかあると思う。 普通に日本語で記述する JSON Hyper-Schema、WADL、RAML、Swaggerなどを使う 仕様書の代わりにプログラムを書く HTTPメッセージそのものを記述しておく でも、文法にばらつきがあったり、読みにくかったり、ツールのセットアップが面倒だったり、どれもイマイチな所があって、手軽な方法が欲しいと思っていた。 何気なくcurlコマンドのオプションを調べていたら、「もうこれでAPIドキュメント扱いにしちゃえばいいんじゃね?」と思えてきたのでメモしておく。 curlコマンドのおさらい curlコマンドはlibcurlの付属コマンドで、最近のUnix系OSなら大抵最初から入っていると思う。コマンドの詳細はmanを読んでいただければ。 cURL - How To Use (マニュアルページ日本語訳) curlコマンドのオプシ
2025/02/22追記 この記事を書いたのは10年前なので、最近のcurlにある機能には触れられていません。 同じQiita内だと↓記事が参考になるので合わせてご覧ください。 はじめに 「最近、curlが楽しい」 というわけで、最近、curlでPOSTしたりDELETEしたりcookieからSessionを読み込んだりと触れ合う機会が多かったので、その時知ったものを備忘録も兼ねてまとめました。 なるべく実行コマンドとその結果の出力をセットで書くようにしています。 curlコマンドは便利 curlは便利です。 APIと触れ合っていると、 手軽に HTTPリクエストしたくなる色んなシーンに出会います。 「あれ? サーバー死んでる?」 「思ってたレスポンスと違うな、何が返されているんだ?」 「認証必須にしたんだけど、うっかり抜け道ないよね?」 「さくっとPOSTしてテスト用にデータ準備したいん
Credit: Moyan Brenn ステージング環境などで、クライアント側にHostsを設定して新環境の操作テストするケースも多いかと思います。 Windowsであれば、C:¥Windows¥System32¥drivers¥etc¥hosts、Linux系マシンであれば、/etc/hostsです。 もちろん上記を管理するために、Hosts Files Managerや Hosterといったアプリを利用して効率的に作業されているかと思います。 ただし、サーバの数が膨大になってくると上記の設定をするのもなかなかコストが増えてきます。 たとえば、特定ドメイン(myapp.mistdev.com)に対し、30台のマシンが待機しており、それをそれぞれについて検証したい場合など 30台を別々にHostsを切り替えてやるべきでしょうか?多くの場合は必要ないはずです。 テスト目的がブラウザで閲覧出来
curlはwget, lwp-request(GET, HEAD), lynxと同じようなcliのhttp client。だと思ってたらもっと機能があるようなので、man curl読んで色々調べてみた。HTTP(S)以外にもかなり対応してた。 curl is a tool to transfer data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or FILE). とりあえず良く使いそうなhttp, ftp関連のメモ。DLだけじゃなくて、アップロードもできるのが素晴らしい。 基本 syntax curl [optinons] URL URL It will then default to HTT
はじめに 藤本です。 私事ですが、先週「AWS認定Sysopsアドミニストレーター - アソシエイトレベル」を受験しまして、 無事合格しました(8888 更に昨日「AWS認定デベロッパー - アソシエイトレベル」を受験しまして、 無事合格しました(8888 トリプルアソシエイトになりました。 今回はELBのスティッキーセッションがどういうものなのか理解できていなかったので調べてみました。 概要 ELBにクライアントとバインド先を固定するスティッキーセッションという機能があります。 HTTPレスポンスにELBでCookieを埋め込んで、 そのクッキーを基にバインド先のインスタンスを固定するというものです。 ELBのスティッキーセッションはCookieの有効期限設定が2種類あります。 任意の有効期限を指定する アプリケーションのCookieに従う スティッキーセッションを利用したい場合、 アプ
This page is a Japanese translation of the manual page of the command line tool 'curl'. (more about this page) curl.1 man ページ 名前 curl - transfer a URL curl - URL 転送 書式 curl [options] [URL...] 説明 curl is a tool to transfer data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP or FILE). The command is designed to work without use
エラーハンドリングの基本 PHPのlibcurl拡張でHTTPリクエストをする際、色々なエラーが起きることが考えられる。 curl_errnoとcurl_errorで直近のexecで発生したエラーを調べることができる。 curl_exec()の戻り値がfalseだったらエラーだと判定できるのだけど、詳細なところがわからないので、明示的にエラーが起きたかを調べた方がよさそう。 例外を使いたいなら、ラッパークラス/関数でハンドリングして適当なException型を投げればよいだろう。 <?php // 単純なcurl関数のラッパー // 毎回コネクションを切断するので非効率かも function getHttpContent($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $body
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く