bitflyer.comでAPI使ってみたよ、遅っいぞ。

2020.06.05

Logging

bitflyer.comでAPI使ってみたよ、遅っいぞ。自分の回線が悪いのかわからないけれど、データの結果が返却されるまで2?4分ぐらい時間がかかるのです、レスポンスが遅い恐ろしく遅いのだ。
まるでオイラのようだ(´・ω・`)。

ccxtとかも使ってみたら・・アレ大丈夫?
PHPで再度を自作してみた「body部分は間違っているかも。いや間違っているよ・・・?。」とぶつぶつ言いながら制作。

追記:
PHPのレスポンスが遅いのは、LinuxのOSをゴニョゴニョしたからでした。OS入れ直して再度コードを走らすと普通にレスポンスが返ってきました、、、。

返ってきたときには「ほんと、何やねん」とボヤきました?。

PHPのソースコードを記載します。

<?php
date_default_timezone_set('Asia/Tokyo');
class Api_Bitflyer_Class
{
    var $basic_url = "https://api.bitflyer.com";
    public function __construct()
    {
        require_once __DIR__."/../common/init.php";
    }
    /**
     * @param timestamp $timestamp
     * @param string $path
     * @param string $method
     * @param string $body
     */  
    public function api_set($timestamp = "", $path = "/v1/me/getbalance", $method = "GET", $body = "")
    {
        $url = $this->basic_url . $path;
        $data = strtolower($method) === "get" ? $timestamp . $method . $path : $timestamp . $method . $path . (function ($body) {
            if (!is_array($body)) {
                $body = [];
            }
            return json_encode($body);
        })($body);
        $access_singn = hash_hmac("sha256", $data, APISECRET);
        $headers = [
            'ACCESS-KEY: ' . APIKEY,
            'ACCESS-TIMESTAMP: ' . $timestamp,
            'ACCESS-SIGN: ' . $access_singn,
            'Content-Type: application/json',
        ];
        return new class($url, $method, $headers, $body)
        {
            var $url = "";
            var $method = "";
            var $headers = "";
            var $body = "";
            /**
             * @param string $url
             * @param string $method
             * @param string $headers
             * @param string $body
             */              
            public function __construct($url, $method, $headers, $body)
            {
                $this->url = $url;
                $this->method = $method;
                $this->headers = $headers;
                $this->body = $body;
            }
            public function api_run()
            {
                $curl = curl_init();
                curl_setopt($curl, CURLOPT_URL, $this->url);
                curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $this->method);
                curl_setopt($curl, CURLOPT_HTTPHEADER, $this->headers);
                strtolower($this->method) == "post" ? curl_setopt($curl, CURLOPT_POSTFIELDS, $this->body) : "";
                curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
                curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
                $response             = curl_exec($curl);
                // $response_info        = curl_getinfo($curl);
                // $response_code        = $response_info['http_code'];
                // $response_header_size = $response_info['header_size'];
                curl_close($curl);
                print date("Y/m/d H:i:s");
                var_dump(json_decode($response));
                // var_dump($response_code);
                // var_dump($response_header_size);
            }
        };
    }
}

$Api_Bitflyer_Class = new Api_Bitflyer_Class();
$Api_Bitflyer_Class->api_set(time(),"/v1/me/getbalance","GET","")->api_run();

PHPとは別にnode.jsでリアルタイムAPIを使用した動画を貼っときます。

bitflyerAPI_PHPcode

なお、よく読んだほうが良いAPI Documentation

bitFlyer Lightning では、HTTP API と Realtime API の 2 種類の API を提供しています。

尚、ビットコイン高くて買えないので、ビットコインの売買したい知人は格安で自動売買のシステム作りますよ。

タグ

2, 39, 4, API, Asia, bitFlyer, body, ccxt, class, com, date, default, Linux, lt, OS, php, set, timezone, Tokyo, アレ, おいら, コード, ゴニョゴニョ, ソース, データ, とき, ほんと, レスポンス, , 再度, 制作, 回線, 時間, 普通, 結果, 自作, 自分, 記載, 返却, 追記, , 部分,

Linuxでプロセス残すなら!

2019.11.08

Logging

Linuxでプロセス残すなら【nohup コマンド &】を使おう。
以前、仮想ウィンドウを開いて行う方法を記載しましたが
こちらのほうが断然らくです。

ちなみにこれを使用すると、 nohup.out というファイルが作成されます。
node.jsやPythonとかで使用する機会が多いかもしれません。

例えばこんな感じで

nohup Python index.py &

過去記事:プロセス残してSSHログアウトする方法。

タグ

amp, index, JS, Linux, node, nohup, out, py, Python, SSH, ウィンドウ, こちら, コマンド, これ, ファイル, プロセス, ログアウト, 以前, 仮想, 作成, 使用, 感じ, 方法, 機会, 記事, 記載, 過去,

プロセス残してSSHログアウトする方法。

2018.11.11

Logging

screenっていうコマンドを使用するとプロセス残してSSHログアウトする事ができます。ちなみにscreenというコマンドは仮想ウィンドが立ち上げる機能です。
まずscreenをインストールし、実行したいコマンドを実行します。
実行すると仮想ウィンドが立ち上がります。
立ち上がっている画面の確認はlsで確認することが可能。
その画面を読み込むときは-r を使用します。
lsで表示されているプロセスID(PID)を記入してコマンドを実行することで再接続することが可能となります。
追記:こんな方法もあります。
Linuxでプロセス残すなら!

yum -y install screen
screen php test.php
screen -ls
screen -r PID

タグ

-r, -y, ID, install, Linux, ls, php, PID, screen, SSH, test, yum, インストール, ウィンド, こと, コマンド, とき, プロセス, ログアウト, , 仮想, 使用, 可能, 実行, 接続, 方法, 機能, 画面, 確認, 表示, 記入, 追記,

Raspberry Pi 2を使った自作IoT体験キットが玄人志向から売られてた。

2016.01.12

Logging


Raspberry Pi 2を使った自作IoT体験キットが玄人志向から売られてた。
このRaspberry Pi 2(ラズベリーパイ)ですがLinuxの雑誌には大体、登場しています。
去年辺りから火がついてきた品物ですがこれを使っていろいろな事ができるです。簡単にいえば昔のポケコンのLinuxバージョンだと思っていただけるとわかりやすいと思います。
Raspberry Pi 2からWindows10もサポートされているみたいですが、動作しないとかBBSに書き込まれています。
実際、キワモノの商品なので玄人志向の方々にしか使用が難しいのかも?Iot=モノインターネットのがじわじわと侵食してきています。
でも、いまのところ流行というよりはじわじわと試行錯誤しながら、新しい家電製品などに組み込まれているIot、そんなIotを格安で楽しめちゃうのが、Raspberry Pi 2という認識でいる自分。
実際、温度計センサーとRaspberry Pi 2を結びつけて、ある温度になると暑いとつぶやき事も可能です、他にもカメラと結びつけることも可能ですし、使いみちはいろいろとあると思います。
自分もちょっと興味ありです。
http://www.kuroutoshikou.com/product/others/others_iot/kuro-iotexp_kit/

タグ

10, 2, BBS, IoT, Linux, Pi, Raspberry, Windows, いま, いろいろ, インターネット, キット, キワ, これ, サポート, センサー, ところ, バージョン, はい, ポケコン, もの, ラズベリー, , 体験, 使用, 侵食, 動作, 去年, 品物, 商品, 大体, 実際, 家電, 志向, 方々, , 格安, 流行, 温度計, , 玄人, 登場, 簡単, 自作, 自分, 製品, 試行錯誤, 認識, 雑誌,

windows10になってMSDOSに付いた機能。

2015.08.27

Logging


windows10になってMSDOSに付いた機能の中に透過機能がつきました。これは便利だなと思います。LinuxやMacには数年前からこの機能はあったので・・新鮮さは感じられません。尚、コピーアンドペーストなども使用できるようになっています。あとは文字列の検索なども追加されていますので便利かと思います。詳しくはITメディアを参照してください。
http://www.itmedia.co.jp/pcuser/articles/1508/27/news042.html

タグ

, ITメディア, Linux, Mac, MSDOS, Windows10, コピーアンドペースト, 数年前, 文字列, 新鮮さ, 検索, 透過機能,

WinSCPというソフトが有るのだけど。

2015.07.16

Logging


WinSCPというソフトが有るのだけど自分はこのソフト、FTPのソフトだと思い込んでいたけど・・。SCPという名前の通りSCP(転送プロトコル)機能がついてたりする。面倒くさい事をさらっとやってくれるフリーソフトなわけです。そうとは知らず今までインストールすることが無かったんですけど、この度、インストールしました。ちなみに何が良いかというとFTPサービスをサーバ環境へインストールしなくてもファイルのアップロードが可能だということです。FTPがインストールされていない環境だととても重宝しそうな気がします。
ダウンロードはこちらから、WinSCP
メモがてらにもう一つ、大量のsqlデータを一括でインポートしなくてはならなくなり、昨日、調べていたらこのようなコマンドで解決することがわかりました。まず、Linuxサーバでかつポート22番が開いている事が前提です。windowsですとTera Termでサーバにログインし下記のコマンドを入力します。

mysql -u ユーザー名 -D データベース名 -p
//エンター後、Passwordの入力を行ってください。
次にMYSQLに切り替わったら、下記のコマンド入力してインポートを行います。この時の注意点ですがエラーなどが出る場合はエクスポートしたsqlファイルの最終行あたりに記入されているデータベース名やユーザー名が移行する側の名前になっているかが大事になります。なっていない場合、修正をかけ再処理を行うとインポートが行えるはずです。
尚、サーバ上に事前にsqlファイルをアップロードして置いてから処理を行ってください。
USE データベース名(インポートしたい)
SOURCE 階層を含むファイル名(/xxxx/xxxx.sql)

            

タグ

22, FTP, Linux, My, SCP, SQL, Tera, Term, Windows, WinSCP, アップロード, インストール, インポート, こちら, こと, コマンド, サーバ, サービス, ソフト, ダウンロード, データ, ファイル, フリー, プロトコル, ポート, メモ, もう一つ, ログイン, 一括, 下記, , , 入力, 前提, 可能, 名前, 大量, , 昨日, 機能, , 環境, 自分, 解決, 転送, 通り, 重宝,

最後のWindowsが夏頃、リリースされます。

2015.05.14

Logging


最後のWindowsが夏頃、リリースされますが、ちょっと様子見でWindows7のままで使用しようと思っています。恐らく無償版のアップグレードするとダウングレードすることが出来ないと思うので自分は様子見です。話、脱線して昨日の続きです。PHPを使用しPOSTしてデータを渡し受け取る方法ですが、SSLでなければ下記のコマンドをLinux上で打てば処理されます。なのでコマンドとPHPとの合わせ技で処理します。

curl http://hoge.com -d "name=hoge" -d "pass=pass_hoge"

上記の様に記載したshファイルを任意の場所に置き、Linuxで処理するか、PHPで実行させるかなど方法があります。今回はPHPで実行する方法を記載します。上記のファイルをhello.shというファイルに保存したと過程して、PHPファイルで実行させた場合の処理を記載します。下記のコードをPHPファイルに記載すれば実行可能です。

$put =nl2br(shell_exec('sh hello.sh'));
echo $put;

あとは戻ってきた値を処理して必要な情報だけを抽出するコードを書けばいろいろな事が可能です。ちなみに今回はPOSTとする方法でしたが、それ以外にも階層のファイルの一覧を抽出した場合などもshに記載して結果を返す方法などが可能です。
※shファイルのパーミッション設定には注意が必要です。
 

タグ

'sh hello.sh', $put, Linux, nl2br, PHPファイル, POST, shell_exec, shファイル, Windows7, アップグレード, コード, コマンド, パーミッション設定, 上記, 下記, 合わせ技, 夏頃, 方法, 無償版, 階層,