0
点赞
收藏
分享

微信扫一扫

fsockopen 来模拟生成 HTTP 连接


/**
* fsockopen 来模拟生成 HTTP 连接 
*/

public function doRequest($host,$path, $param=array()){
$query = isset($param)? http_build_query($param) : '';

$port = 10086;
$errno = 0;
$errstr = '';
$timeout = 360;

$fp = fsockopen($host, $port, $errno, $errstr, $timeout);

$out = "POST ".$path." HTTP/1.1\r\n";
$out .= "host:".$host."\r\n";
$out .= "content-length:".strlen($query)."\r\n";
$out .= "content-type:application/x-www-form-urlencoded\r\n";
$out .= "connection:close\r\n\r\n";
$out .= $query;

fputs($fp, $out);
fclose($fp);
}

调用

//查询漏电自检
$host = $_SERVER['SERVER_NAME'];
$path = "/apiv2/get-mogo/index";//这个是去请求的接口
$param = [
"sid" => $deviceid
];
$result = $this->doRequest($host, $path, $param);

调用的接口

 public function actionIndex()
{
$request = \Yii::$app->request;

if ($request->isPost) {
$attributes = $request->post();
$sid = isset($attributes['sid']) ? $attributes['sid'] : '';
$path = \app\services\VStatusLog::newestQueryup($sid);
$path = json_encode($path,true);
return $path;
}else {
return $this->returnData('', -1, '请求方式错误');
}

}

 

根据结果进行判断

               用法1: 添加一个数据库字段(0查询前 1 查询成功 2查询失败)   查询后修改 

举报

相关推荐

0 条评论