'GetHotelDetails', 'variables' => [ 'detailsInput' => [ 'rebrandStartDate' => '2026-04-28', 'geoLocation' => [ 'lat' => 30.274086, 'lon' => 120.155071, 'radius' => 1336, ], 'geoLocationDistance' => [ 'distanceType' => 'STRAIGHT_LINE', 'distanceUnit' => 'KM', ], 'size' => 120, 'fallbackSearch' => [ 'minHotels' => 1, 'maxRadius' => 100, 'incrementRadiusBy' => 70, ], 'sortBy' => 'DISTANCE', ], 'mediaArgs' => [ 'formats' => [ ['aspectHeight' => '3', 'aspectWidth' => '4'], ['aspectHeight' => '5', 'aspectWidth' => '16'], ], ], ], 'query' => $query, ], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_HTTPHEADER => $headers, CURLOPT_POSTFIELDS => $data, CURLOPT_ENCODING => '', // 支持 gzip / br / deflate CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_2_0, // 对应 --http2 ]); $response = curl_exec($ch); if ($response === false) { echo "Curl error: " . curl_error($ch); exit; } $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($httpCode !== 200) { echo "HTTP Error: $httpCode\n"; echo $response; exit; } // 保存为 hotel.json file_put_contents(__DIR__ . '/hotel.json', $response); echo "保存成功 -> hotel.json\n";