Ich verwende Guzzle 6, um Daten von Ruckus public API abzurufen, aber hält die folgende FehlerVerwenden Sie Guzzle 6, um öffentliche Ruckus-API anzufordern, aber Argument 3 an GuzzleHttp Client :: request() muss vom Typ Array sein, boolean
Argument 3 bestanden GuzzleHttp \ Client :: Anfrage() bekommen muss der Typ Array von, boolean gegeben
ich gegoogelt habe und suchte nach ähnlichen Fragen. Das einzige, was funktioniert, ist die zweite Antwort in dieser post, welche die Version auf 5 herunterlädt. Andere Teammitglieder, die andere Funktionen ausführen, benutzen jedoch Guzzle 6, so dass ein Downgrade auf Version 5 ebenfalls ein Problem für das Team sein könnte.
Da ich keine Pakete wie in diesem Beitrag verwende, glaube ich nicht, dass die Guzzle-Version der Schuldige hier sein könnte, also kann mir jemand eine Idee geben, was ich falsch gemacht habe? Vielen Dank.
Übrigens benutze ich Laravel Command. Der Code in der Griff-Funktion ist wie folgt:
use Illuminate\Console\Command;
use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Client;
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$client = new Client();
//to bypass local ssl certificate issuer
$client->setDefaultOption('verify', false);
$res = $client->request(
'POST',
$this->baseUrl . '/v4_0/session',
[
"headers" => [
"Content-Type" => "application/json;charset=UTF-8"
],
"json" => [
"username" => "admin",
"password" => "admin"
]
]
);
$headers = explode(';', $res->getHeader('Set-Cookie'));
return current($headers);
}
Die Ruckus öffentliche API: http://docs.ruckuswireless.com/vscg-enterprise/vsz-e-public-api-reference-guide-3-5.html#header-overview. Ich verwende Version 4, aber selbst wenn ich Version 5 verwende, bekomme ich immer noch den gleichen Fehler.
können Sie versuchen, stattdessen den '$ client-> post()' zu verwenden und zu sehen, ob es ein anderes Ergebnis zeigt? –
@OmisakinOluwatobi Ja, das habe ich auch versucht. Immer noch den gleichen Fehler. –
hast du php-curl installiert? –