Reputation: 595
I try to login to xtb api ( xtrade brokers api demo) and I can't do it My code below:
$headers = (object) [
'command' => 'login',
'arguments' => (object) [
'userId' => 'myuserID',
'password' => 'myPassword'
]
];
$object = json_encode($headers);
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, 'xapi.xtb.com');
curl_setopt($curl, CURLOPT_PORT, 5124);
curl_setopt($curl, CURLOPT_HTTPHEADER, $object);
$ret = curl_exec($curl);
$error = curl_error($curl);
$info = curl_getinfo($curl);
print_r($ret);
echo "<br><br>";
print_r($error);
echo "<br><br>";
print_r($info);
echo "<br><br>";
My output response
Failed to connect to xapi.xtb.com port 5124 after 81 ms: Connection refused
Upvotes: 0
Views: 380
Reputation:
Try this:
<?php
$host = "xapi.xtb.com";
$port = 5124;
$user = '10000';
$pass = 'secret_password';
$ssl_context = stream_context_create(array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
));
$socket = stream_socket_client("ssl://$host:$port", $errno, $errstr, 5, STREAM_CLIENT_CONNECT, $ssl_context);
if (!$socket) {
die("Not connect: ($errno) $errstr");
}
$cmd = json_encode(array (
'command' => 'login',
'arguments' => array (
'userId' => $user,
'password' => $pass,
),
) );
fwrite($socket, $cmd);
$result = fread($socket, 1024);
echo "Result from server: $result";
fclose($socket);
Upvotes: 1