I am trying to make a HTTP request to another website inside a controller method. I searched for solutions but I can't find any working examples.
Here is my code:
$r = new HttpRequest('http://community.bba.org/home', HttpRequest::METH_GET);
$r->addQueryData(array('SessionID' => $arrGetParams['SessionID']));
try {
$r->send();
} catch (HttpException $ex) {}
I get the following error:
Fatal error: Class 'HttpRequest' not found in C:\\wamp\\www\\abb\\mysite\\code\\form\\ALoginForm.php on line 215
How can I get this HTTP request working?
I am using SilverStripe on WAMP on a Windows 7 machine.
The built in way to make requests to external sites or resources is by using the RestfulService
Docs are here: http://docs.silverstripe.org/en/3.1/developer_guides/integration/restfulservice/
Typical usage:
$service = new RestfulService('http://community.bba.org/home', 1200); //domain, cache duration
$service->setQueryString(array(
'SessionID' => $arrGetParams['SessionID'],
));
$response = $service->request();
$body = $response->getBody();
If you want to use PHP's HTTPRequest
you'll have to installthe http extension ( http://php.net/manual/en/http.install.php )
http://php.net/manual/en/http.install.php
This » PECL extension is not bundled with PHP.
This issue has nothing to do with SilverStripe itself. You need to install the module, or use curl (which wampserver does come bundled with). How to enable curl in Wamp server
There is http://docs.silverstripe.org/en/3.1/developer_guides/integration/restfulservice/ but I don't recommend it.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.