CURL is a system by which you can pretend your web code is a web browser. So it can go out on the net and bring in all sorts of data. But you can set all kinds of variables that real browsers typically have built in.
It’s really meant to replace things like using the include function to pull data from remote sites. It’s more complex, but also a lot more powerful. I found a good simple article on how to do it here.