I know laravel has File::get(), but can this open a file from a web url and then do File::put() to a a folder on the server?
No - this will only access a local resource.
You need to use cURL and access the resource. I suggest using the Guzzle package which allows for an easy way to use cURL.
Then you could do something like this
function getFile($fromUrl, $toFile) {
$client = new Guzzle\Http\Client();
$response = $client->get($fromUrl);
->setResponseBody($toFile)
->send();
return true;
}