博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个php开发的用于路由器的小功能
阅读量:5303 次
发布时间:2019-06-14

本文共 1040 字,大约阅读时间需要 3 分钟。

最近接到一个需求,假设有A、B、C 三台主机。现A主机要访问C主机上的一个脚本,并且根据A传递的参数给C主机,同时接受C主机返回来的数据。但是现在A主机不能直接通过url、IP访问C主机,需要借由主机B。主要思路:A主机请求B主机并发送数据给B主机,B主机把接受到的数据再发送给C主机,同时接受C主机返回的数据,最后再把此数据返回给A主机。

  具体程序如下:

<?php

  //绑定的内网的 url 链接
  $intranet_url = 'http://localhost/test.php';
  //POST 接收传来的数据
  $post_param = $_REQUEST;
  //发送数据
  $post_data = $post_param;
  $return_post = send_post($intranet_url, $post_data);
  var_dump($return_post);
  return $return_post;

/**提交POST请求**/
function send_post($url, $post_data)
{
  $postdata = http_build_query($post_data);

  $options = array(

      'http' => array(
          'method' => 'POST',
          'header' => 'Content-type:application/x-www-form-urlencoded',
          'content' => $postdata,
          'timeout' => 30 // 超时时间(单位:s)
      )
  );
  $context = stream_context_create($options);
  try{
      $result = file_get_contents($url, false, $context);
      return $result;
  }
  catch(Exception $e)
  {
      $error = 'error:连接超时';
      return $error;
  }
}

?>

转载于:https://www.cnblogs.com/penciler/p/3816493.html

你可能感兴趣的文章
Linux 密钥验证
查看>>
windows下UDP服务器和客户端的实现
查看>>
NetAdvantage webdatagrid 控件的一些属性
查看>>
MySQL各版本的区别
查看>>
[poj1006]Biorhythms
查看>>
迭代器
查看>>
elasticsearch type类型创建时注意项目,最新的elasticsearch已经不建议一个索引下多个type...
查看>>
jQury 跳出each循环的方法
查看>>
spring AOP 之五:Spring MVC通过AOP切面编程来拦截controller
查看>>
在编译安装程序时候遇到/usr/bin/ld: cannot find -lxxx的时候的解决办法。
查看>>
使用 INSERT 和 SELECT 子查询插入行
查看>>
shell脚本解析10(练习4)------监视文件
查看>>
Java对象引用
查看>>
linux虚拟环境搭建
查看>>
ubuntu重装mysql
查看>>
JS 学习笔记
查看>>
Linux ag命令
查看>>
Keepalived
查看>>
js实现瀑布流布局
查看>>
C. Anagram codeforces
查看>>