I have a script in php that uses Guzzle 6 to make a very long GET petition to an API like this:
$client = new Client(['base_uri' => $this->app_config["domains"][$this->service_name]);
$response = $client->request('GET', $uri);
return \GuzzleHttp\json_decode($response->getBody(), true);
Error creating resource: [message] fopen(.......): failed to open stream: HTTP request failed!
It seems that you can not connect to the host from your Vagrant box. And 120 seconds is a default timeout (check
default_socket_timeout value in PHP settings).
So check the connection to outside world from the Vagrant box.