Я хочу перейти с чистого CURL на Guzzle, но вызовы API не зарегистрированы правильно.
Рабочая CURL (класс отсюда: qaru.site/info/561321/...)
...
$Curl = new CURL(); // setting all curl_opts there
// creating session
$session = explode(";", $Curl->post("http://www.share-online.biz/upv3_session.php", "username=".$un."&password=".$pw));
$session_key = $session[0];
$upload_server = $session[1];
// upload
$vars = ... // see below
var_dump(explode(";",$Curl->post($upload_server, $vars))); // works
Теперь материал Guzzle
...
$Curl = new GuzzleHttp\Client();
$jar = new GuzzleHttp\Cookie\FileCookieJar("cookie.txt", true);
//creating session
$session = explode(";", $Curl->request('POST', "http://www.share-online.biz/upv3_session.php",
["form_params" => ["username" => $un, "password" => $pw], 'cookies' => $jar])->getBody());
$session_key = $session[0];
$upload_server = $session[1];
$vars = ["username" => $un,
"password" => $pw,
"upload_session" => $session_key,
"chunk_no" => 1,
"chunk_number" => 1,
"filesize" => filesize($file),
"fn" => new CurlFile(realpath($file)),
"finalize" => 1,
"name" => "test",
"contents" => $file,
];
var_dump(
explode(";",$Curl->request(
'POST', "http://".$upload_server, ["multipart" => [$vars], 'cookies' => $jar])
->getBody()));
// outputs *** EXCEPTION session creation/reuse failed - 09-3-2017, 3:05 am ***
Я предполагаю, что я делаю что-то не так с файлами cookie. Они устанавливаются как var_dump($jar);
. API Docs: http://www.share-online.biz/uploadapi