Tengo la siguiente solicitud cURL en Postman que funciona perfectamente bien, sin embargo, tengo problemas para obtener los mismos datos de respuesta una vez que he convertido esta solicitud cURL en un formato Laravel 8.x usando la fachada HTTP.
solicitud de rizo
<?php $client = new http\Client; $request = new http\Client\Request; $request->setRequestUrl('https://proclubs.ea.com/api/fifa/clubs/info?platform=ps4&clubIds=1741008'); $request->setRequestMethod('GET'); $request->setOptions(array()); $request->setHeaders(array( 'Referer' => 'https://www.ea.com/' )); $client->enqueue($request)->send(); $response = $client->getResponse(); echo $response->getBody();Solicitud HTTP de Laravel
// ha agregado use Illuminate\Support\Facades\Http; en la parte superior de la clase
$url = 'https://proclubs.ea.com/api/fifa/clubs/info'; $params = [ 'platform' => 'ps4', 'clubIds' => 1741008 ]; $response = Http::withHeaders([ 'Referrer' => 'https://www.ea.com/', ])->get($url, $params)->json(); dd($response);Rendimiento esperado
{ "1741008": { "name": "BanterburyFC", "clubId": 1741008, "regionId": 4344147, "teamId": 112092, "customKit": { "stadName": "Wanda Metropolitano", "kitId": "1836515329", "isCustomTeam": "0", "customKitId": "7623", "customAwayKitId": "7623", "customKeeperKitId": "5012", "kitColor1": "1987272", "kitColor2": "0", "kitColor3": "16777215", "kitAColor1": "16734520", "kitAColor2": "0", "kitAColor3": "16777215", "dCustomKit": "0", "crestColor": "1987272", "crestAssetId": "99040402" } } }salida real
null // getting a 403 error responseAl ejecutar el comando debug() en Laravel puedo ver el siguiente error
old SSL session ID is stale, removing * Mark bundle as not supporting multiuse < HTTP/1.1 403 Forbidden : ¿cómo soluciono esto?
Ha escrito mal el nombre del encabezado. Es Referer con uno r no dos. Cambie su código a esto y debería funcionar:
$response = Http::withHeaders([ 'Referer' => 'https://www.ea.com/', ])->get($url, $params)->json();