在PHP中替代HTTPRequest

6 php httprequest

我在我的PHP脚本中使用HttpRequest类,但是当我将此脚本上传到我的托管服务提供商的服务器时,执行它时出现致命错误:

致命错误:在第87行的......中找不到类'HttpRequest'

我相信原因是因为我的托管服务提供商的php.ini配置不包含支持HttpRequest的扩展.当我联系他们时他们说我们无法在共享主机上安装以下扩展.所以我想要httpRequest的替代品,我这样做:

   $url= http://ip:8080/folder/SuspendSubscriber?subscriberId=5
    $data_string="";
    $request = new HTTPRequest($url, HTTP_METH_POST);
    $request->setRawPostData($data_string);
    $request->send();    
    $response = $request->getResponseBody();
    $response= json_decode($response, true);
    return $response;
Run Code Online (Sandbox Code Playgroud)

或者我如何在curl中使用此请求,因为它不适用于空数据字符串?

Zah*_*han 4

你可以像这样在 php 中使用 CURL:

$ch = curl_init( $url );
$data_string  = " ";
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data_string );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));   
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );   
$result = curl_exec($ch);
curl_close($ch);    
return $result;
Run Code Online (Sandbox Code Playgroud)

空数据字符串在发布请求中没有意义,但我已经用空数据字符串检查过它并且它工作得很好。