wiki/examples/php/proxy-usage.md
<?php
namespace ccxt;
include_once (__DIR__.'/../../ccxt.php');
// ----------------------------------------------------------------------------
// PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
// https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
// -----------------------------------------------------------------------------
error_reporting(E_ALL);
date_default_timezone_set('UTC');
use ccxt\Precise;
use React\Async;
use React\Promise;
// AUTO-TRANSPILE //
// 1) ABOUT CCXT PROXIES, READ MORE AT: https://docs.ccxt.com/#/README?id=proxy
// 2) in python, uncomment the below:
// if sys.platform == 'win32':
// asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
function example_proxy_url() {
return Async\async(function () {
$my_ex = new \ccxt\async\kucoin();
$my_ex->proxy_url = 'http://188.245.226.105:8090/proxy_url.php?caller=https://ccxt.com&url=';
var_dump(Async\await($my_ex->fetch('https://api.ipify.org/')));
}) ();
}
function example_http_proxy() {
return Async\async(function () {
$my_ex = new \ccxt\async\kucoin();
$my_ex->http_proxy = 'http://188.245.226.105:8911'; // "httpProxy" or "httpsProxy" (depending on your proxy protocol)
var_dump(Async\await($my_ex->fetch('https://api.ipify.org/')));
}) ();
}
function example_socks_proxy() {
return Async\async(function () {
$my_ex = new \ccxt\async\kucoin();
$my_ex->socks_proxy = 'socks5://127.0.0.1:1080'; // from protocols: socks, socks5, socks5h
var_dump(Async\await($my_ex->fetch('https://api.ipify.org/')));
}) ();
}
function example_web_sockets() {
return Async\async(function () {
$my_ex = new \ccxt\pro\kucoin();
$my_ex->http_proxy = 'http://188.245.226.105:8911'; // even though you are using WebSockets, you might also need to set up proxy for the exchange's REST requests
$my_ex->ws_proxy = 'http://188.245.226.105:8911'; // "wsProxy" or "wssProxy" or "wsSocksProxy" (depending on your proxy protocol)
Async\await($my_ex->load_markets());
//
// To ensure your WS proxy works, uncomment below code and watch the log
//
// myEx.verbose = true;
// await myEx.loadHttpProxyAgent ();
// await myEx.watch ('ws://188.245.226.105:9876/', 'myip'); // in the incoming logs, confirm that you see the proxy IP in "hello" message
//
var_dump(Async\await($my_ex->watch_ticker('BTC/USDT')));
Async\await($my_ex->close());
}) ();
}
// await example_proxyUrl ();
Async\await(example_http_proxy());