By design, blockchains cannot perform ourward networking operations, such as http requests, to external services. If a smart contract were able to perform networking operations, then it would become nearly impossible to form a consensus on the events that transpired. Because of this issue, it is necessary to have a service outside of the blockchain that can perform networking operations.