Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

はじめに こんにちは!お久しぶりです。 「実行されるとアプリサーバーにJSONを送るだけのバッチ」を作りたい人です1。 先輩に実装方法を聞いたら「そんなんcurl一択やんけ」と言われたので、curlコマンドを調べて使ってバッチを作成しました! その時に得た知識をまとめていきたいと思います。 この記事では、以下の順番でcurlの基礎をご紹介していきます。 curlコマンドって何? curlの基本の使い方 どんな動作するのか、さくっと試したい!(試せますぞ!) curlの後ろにオプションをつけると、いろいろなことができますぞ! curlコマンドって何? curlコマンドは、こちらの記事で紹介されているように、様々なプロトコルを使用してデータ転送を行うことができるコマンドです。 HTTPのGETやPOSTはもちろん、HTTPSやFTP, Telnet, SMTP, IMAP, POP3など様々な
ブログやってます。更新などはこちら。地方エンジニアの学習日記 背景 curlコマンドを使う際に毎回調べて実行しているのですがさすがに面倒なのでまとめてみました。 自分のevernoteからの転載なので誤記などあったら教えてください。 curl(カール)コマンドとは サーバから、もしくはサーバへデータ転送を行うコマンド。 FTP,SFTP,LDAP,TELNETなど多くのプロトコルに対応している。 F5アタックなんかもワンライナーでさくっとできる。(悪用禁止) 一番基本的な使い方はHTTPリクエストを実施し、 その内容を標準出力するといった使い方でしょうか。 jsonをパースしてくれるjqは必須なので入れておきましょう。 書式は下記 # HTTPリクエストを実施し結果を標準出力へ $ curl http://対象のURL #コンマや[]を使って範囲指定も出来る $ curl 'http://
この機能は、認証済ミニアプリでのみ利用できます。未認証ミニアプリの場合、開発用の内部チャネルではテストできますが、公開用の内部チャネルでは利用できません。 サービスメッセージAPIを使用すると、サービスからLINEミニアプリのユーザーに、サービスメッセージを送信できます。 サービスメッセージを送信するには、サービス通知トークンとテンプレートが必要です。 サービス通知トークンを発行する サービスメッセージを送信する # サービス通知トークンを発行する サービス通知トークンを発行します。サービス通知トークンを使用すると、紐づけられたユーザーに対してサービスメッセージを送信できます。 サービス通知トークンの特徴は以下のとおりです。 サービス通知トークンは、発行から1年間(31,536,000秒間)有効です。有効期限が切れるまでに、最大5回サービスメッセージを送信できます。 サービス通知トークンを
すぐにわからなくなるので覚書 前提 Messaging APIでチャンネル作成済み 作成したアカウントを友達追加済み チャンネルのAccess Tokenを取得している 一斉送信 broadcast APIを利用する c […] すぐにわからなくなるので覚書 前提 Messaging APIでチャンネル作成済み 作成したアカウントを友達追加済み チャンネルのAccess Tokenを取得している 一斉送信 broadcast APIを利用する curlの場合 curl -v -X POST https://api.line.me/v2/bot/message/broadcast \ -H 'Content-Type:application/json' \ -H 'Authorization: Bearer YOUR_CHANEL_ACCESS_TOKEN' \ -d '{ "message
LINE Messaging APIによる開発を行っていて、「このデータでちゃんとメッセージが送られるのか?」というのを手軽に試す方法として、curlで直接Messaging APIを実行する方法を紹介します。 事前準備 事前にLINE Developersに登録しておきます。 参考:LINE APIの個人検証環境を作る 1. 友だち追加 LINE Developersにログインし、対象チャネルのMessaging API設定タブで表示されるQRコードを読み取って友達に追加しておく。 2. チャネルアクセストークンを取得 Messaging API設定タブの下部にあるチャネルアクセストークンを控えておく。 チャネルアクセストークン | LINE Developers 3. ユーザーIDを取得 対象チャネルのチャネル基本設定タブで中程に表示されているあなたのユーザーIDを控えておく。 LIN
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",
ウィスキー、シガー、パイプをこよなく愛する大栗です。 Application Load Balancerで同じポートに複数のSSL/TLS証明書を設定できるSNI(Server Name Indication)に対応しました。 SNI(Server Name Indication)とは SNI(Server Name Indication)とはRFC 6066に記述されている仕様です。「Server Name Indication」つまりサーバ名表示のことです。SNI以前の仕様ではIPアドレス/ポートに対して一つのSSL/TLS証明書しか設定が行なえませんでした。SNIによりサーバ名ごとにSSL/TLS証明書を設定できるようになり、リクエストから証明書を適用するサーバ名が判断して適用するようになります。 HTTPSリクエストのホストヘッダーを見れば判断できるだろうと思われるかもしれませんが
PCIDSSの対応で各決済会社のTLS1.2縛りが始まりました。 乗り遅れてしまった!! やばい!間もなくじゃない? 的な話もチラホラ聞きます。 phpで作られているシステムであれば、curl等を用いて決済情報に確認を しにいったりリクエストを投げたりしているところが多いのではないでしょうか。 CentOS6以降であれば普通にyumで対応出来ちゃうのですが、 CentOS5系ですとyumでは無理。 proxyで逃げるという策もあるのですが、サーバーも立てられない環境だと、 なかなか安易に逃げれない。 という訳で、今回はphp-curlを更新して対応させちゃう話です。 /usr/localにはソースインストールしているような形跡が無い前提で、 php-5.3.19の環境を元に書いていますので、 その辺は自身の環境と読み変えて下さい。 全て最新を入れたいところなのですが、 全て最新だとなかなか
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
TLS1.2に対応する SSL v3.0の脆弱性からTLSへの対応が求められてきたが、ついにTLS1.2以外の通信は無効にするとの連絡がきた。 結論から言うと、TLS1.2に対応するためには、cUrlのバージョンが7.34.0以上かつOpenSSLのバージョンが1.0.1以上でなければならない。 環境 ウチのサーバー環境は次の通り。 エックスサーバー:X20プラン PHP:5.6.30 cURL:7.47.1 SSL:OpenSSL/1.0.1e エックスサーバーはPHPのバージョンを上げると、あわせてcURLやOpenSSLのバージョンが上がる仕組みだ。 下記のPHPプログラムをサーバーにアップロードして、ブラウザからアクセスすると、自分のサーバー環境が確認できる。 <?php phpinfo(); ?> PHPプログラム cURLを使ったPHPプログラムのサンプル(POST送信)。 <
--head でできます! 元の記事を書い際には見つけられていなかったのですが、 --head でレスポンスヘッダーのみを取得することができます!!! $ curl --head http://example.com HTTP/1.1 200 OK Content-Encoding: gzip Accept-Ranges: bytes Age: 431277 Cache-Control: max-age=604800 Content-Type: text/html; charset=UTF-8 Date: Tue, 29 Jun 2021 15:49:43 GMT Etag: "3147526947" Expires: Tue, 06 Jul 2021 15:49:43 GMT Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT Server: ECS
// 初期設定 $API_ID = 'YOUR API ACCESS ID'; $API_PASSWORD = 'YOUR API ACCESS PASSWORD'; $API_VERSION = '1.0'; $API_ENDPOINT_URI = 'http://foo.var/api'; $data = array( "api_id" => $API_ID, "api_pass_hash" => md5($API_PASSWORD . time()), "version" => $API_VERSION, "condition" => 'paid' ); // postで接続 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $API_ENDPOINT_URI); curl_setopt($ch, CURLOPT_POST, true)
PHP + cURL 実装で注意すること POSTパラメータを http_build_query()に通して application/x-www-form-urlencoded 扱いにする必要に応じて文字エンコーディングの変換を行う cURL でPOSTするパラメータを http_build_query() に通さない場合、multipart/form-data で送信され文字化けの可能性が高くなります。また、Webアプリケーション側とAPI側で扱う文字エンコーディングが異なる場合、変換処理が必要になります。 実装例 API から返却されるデータの形式はQueryString( 例: name=taro&age=15&country=jpn ) 、Webアプリケーション側の文字エンコーディングはUTF-8、API側の文字エンコーディングはShift-JISと仮定した場合の例です。 <?ph
$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サイトのレスポンスタイム(ユーザーの待ち時間)を監視するためのテンプレートを ZabbixのWeb監視機能を使って作成します。レスポンスタイムはWEBサイトにおいて特に重要な指標です。他の指標のロードアベレージやI/O負荷が高かったとしても、レスポンスタイムが早ければWEBサイトに訪れるユーザーにはなにも影響がありません。しかしロードアベレージやI/O負荷が正常であっても、レスポンスタイムが遅ければユーザーはそのWEBサイトの訪問をあきらめてしまう可能性があるからです。(とはいえロードアベレージがぐんぐん上がっているとサーバ管理者としてはドキドキしてしまうものです) WEBサイトのレスポンスタイムは curl コマンド等で確認することができます。 $ curl -s -o /dev/null -w "%{time_total}\n" http://example.com/ 0.221
Swaggerとは Swaggerは言語に依存しないREST APIのインターフェース仕様とそのツール群を指す。 Swaggerの仕様に沿ってAPIを定義することで、人間が理解可能で、コンピューターにも解析可能なAPI仕様書となる。 引用:http://d.hatena.ne.jp/takeR/20151207/1449469957 らしいです。 ともあれ導入 環境 CentOS 6.5 x86_64 PHP環境(PHP5.5、Nginx1.8) CodeIgniter3.0.6 composerインストール $ curl -sS https://getcomposer.org/installer | php All settings correct for using Composer Downloading 1.0.0... Composer successfully installe
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く