#include <ESP8266WiFi.h>
const char* id     = "id";  //http://www.mcunode.com/proxy/id/LED  if id==4567  then url:http://www.mcunode.com/proxy/4567/LED
const char* ssid     = "ssid";
const char* password = "password";
int ledPin = 13;
const char* host = "www.mcunode.com"; void setup() {
  Serial.begin(115200);
  delay(10);   Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }   Serial.println("");
  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
} int value = 0; void loop() {
  delay(5000);
  ++value;   Serial.print("connecting to ");
  Serial.println(host);
  
  WiFiClient client;
  const int httpPort = 8001;
  if (!client.connect(host, httpPort)) {
    Serial.println("connection failed");
    return;
  } if (client.connected())
{
  client.write(id);
  delay(1000);
  while (1)
  {   String request = client.readStringUntil('\r');
  Serial.print(request);
  client.flush();   int value = LOW;
  if (request.indexOf("/LED=ON") != -1)  {
    digitalWrite(ledPin, HIGH);
    value = HIGH;
  }
  if (request.indexOf("/LED=OFF") != -1)  {
    digitalWrite(ledPin, LOW);
    value = LOW;
  }
Serial.println(value);   if(value == HIGH) {
    client.print("<h1> ESP8266 Arduino Web Server</h1>Led pin is now:on <br><br><a href="LED=ON""><button>Turn On </button></a><a href="LED=OFF""><button>Turn Off </button></a><br />");
  } else {
    client.print("<h1> ESP8266 Arduino Web Server</h1>Led pin is now:off  <br><br><a href="LED=ON""><button>Turn On </button></a><a href="LED=OFF""><button>Turn Off </button></a><br />");
  }
  
  }
}
}

  

Arduino内部网页代理,网页穿透,公网访问Arduino内部网页
项目地址:https://github.com/IoTServ/esp8266-Arduino-web-proxy/tree/master
看下效果: <ignore_js_op><ignore_js_op>

好了上代码:

Arduino内部网页代理,网页穿透,公网访问Arduino内部网页的更多相关文章

  1. [转]使用 ssh -R 穿透局域网访问内部服务器主机,反向代理 无人值守化

    原文: https://www.cnblogs.com/phpdragon/p/5314650.html ----------------------------------------------- ...

  2. 【Javascript Demo】移动端访问PC端网页时跳转到对应的移动端网页

    不想通过CSS自适应在PC端和移动端分别显示不同的样式,那么只能通过在移动端访问PC端网页时跳转到对应的移动端网页了,那么怎么跳转呢,网上也有很多文章说明,下面是本人测试有效的方式. 1.效果图 PC ...

  3. Metro中控件WebView访问外部的网页显示一片空白

    Metro中控件WebView访问外部的网页显示一片空白 解决方案: ​下载安装了Initex.Software.Proxifier.v3.21.Standard.Edition.Incl.Keyma ...

  4. 利用Chrome模拟访问移动端网页

    很多网站都通过User-Agent来判断浏览器类型,如果是3G手机,显示手机页面内容,如果是普通浏览器,显示普通网页内容. 谷歌Chrome浏览器,可以很方便地用来当3G手机模拟器.在Windows的 ...

  5. 将静态网页部署到git上访问

    1.将已有的项目放在github上 http://www.cnblogs.com/zqunor/p/6583182.html 2.出现错误解决方案 提交错误 http://blog.csdn.net/ ...

  6. XP系统中IIS访问无法显示网页,目前访问网站的用户过多。终极解决办法

    无法显示网页 目前访问网站的用户过多. -------------------------------------------------------------------------------- ...

  7. Charles学习(三)之使用Map local代理本地静态资源以及配置网页代理在Mac模拟器调试iOS客户端

    前言 问题一:我们在App内嵌H5开发的过程中,肯定会遇到一个问题就是我不想在chrome的控制台中调试,我想要在手机上调试,那么如何解决这个问题呢? 问题二:我们期待调试时达到的效果就是和Charl ...

  8. Charles学习(二)之使用Map local代理本地静态资源以及配置网页代理在Mac浏览器上调试移动端

    前言 我们在开发的过程肯定是一边写代码,一边查看自己的代码写的是否存在问题,那么问题来了,有两种情况 情况一:我们可以本地起服务,那么我们就可以在本地检查自己的代码,查看运行结果 情况二:本地无法起服 ...

  9. .NET混合开发解决方案12 网页JS调用C#方法访问WinForm或WPF窗体

    系列目录     [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...

随机推荐

  1. docker~在centos容器中安装新程序

    上一篇我们使用了阿里加速器安装了centos镜像,然后创建了一个新容器,运行了这个镜像,这一讲我们来为这个镜像添加一些应用程序,然后再保存容器,push容器到仓储,大家就可以直接pull我生产的容器了 ...

  2. centos7下vim8.1的编译安装教程

    之前安装YouCompleteMe的时候遇到vim版本不兼容的问题,看网上说是需要将vim版本提升到8.0及以上,然后就开始安装最新版本的vim,安装过程中的遇到了不少问题主要集中在配置方面和缺少插件 ...

  3. springboot集成下,mybatis的mapper代理对象究竟是如何生成的

    前言 开心一刻 中韩两学生辩论. 中:端午节是属于谁的? 韩:韩国人! 中:汉字是谁发明的? 韩:韩国人! 中:中医是属于谁的? 韩:韩国人! 中:那中国人到底发明过什么? 韩:韩国人! 前情回顾 M ...

  4. webpack4.0各个击破(6)—— Loader篇

    webpack作为前端最火的构建工具,是前端自动化工具链最重要的部分,使用门槛较高.本系列是笔者自己的学习记录,比较基础,希望通过问题 + 解决方式的模式,以前端构建中遇到的具体需求为出发点,学习we ...

  5. 转换Word文档为PDF文件

    1.使用 Office COM组件的Microsoft.Office.Interop.word.dll库 该方法需要在电脑上安装Office软件,并且需要Office支持转换为PDF格式,如果不支持, ...

  6. arcgis 10 版本连接SDE数据库报错:No ArcSDE server license found 最有效的解决方法

    这个问题可以这样解决:就在在Oracle中登入SDE数据库 进入到SDE数据库中后,找到表SERVER_CONFIG,其中有一行数据记录的就是我们需要进行修改的数据 你需要做的就是找到一个可用的,前面 ...

  7. win10下rdlc报表在vs(visual studio)中中文显示小方块的批量处理解决方法

    在网上找vs中rdlc报表显示中文时显示小方块的解决方案,无外就是修改文本框的字体属性.但是对于维护已有的rdlc报表时,有中文的地方(此时都显示了小方块)会很多,再一个一个设置实在太麻烦.所以自己花 ...

  8. [MySQL] mysql 的行级显式锁定和悲观锁

    隐式和显式锁定:1.innodb是两阶段锁定协议,隐式锁定比如在事务的执行过程中.会进行锁定,锁只有在commit或rollback的时候,才会同时被释放2.特定的语句进行显式锁定 select .. ...

  9. Android开发——Notification通知的各种Style详解

    本来是想与之前讲解使用Notification通知使用一起写的,查看了资料,觉得有必要将这Style部分单独拿出来讲解 前篇:Android开发——Notification通知的使用及Notifica ...

  10. iOS-----------设置自定义字体

    1.将字体加入到项目中 2.在info.plist文件中加入相应信息,这一步实际上实在项目的Info页里面增加Fonts provided by application项,并设置相应的ttf文件进去, ...