fsockopen 来模拟生成 HTTP 连接

网友投稿 816 2022-11-27

fsockopen 来模拟生成 HTTP 连接

fsockopen 来模拟生成 HTTP 连接

/** * fsockopen 来模拟生成 HTTP 连接  */ public function doRequest($host,$path, $param=array()){ $query = isset($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- $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查询失败)   查询后修改

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:基于restTemplate遇到的编码问题及解决
下一篇:yii2 小笔记
相关文章

 发表评论

暂时没有评论,来抢沙发吧~