IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Arduino 的http.post发送数据给server,有api_key -> 正文阅读

[网络协议]Arduino 的http.post发送数据给server,有api_key

背景:

  1. Arduino需要发送4个sensor数据给server。
  2. 使用的网络模块为Ethernet W5100网络扩展板开发板模块。
  3. 库文件为arduino 自带的Ethernet.h。
  4. server上是php写的表格数据。发送数据前需要加入一个api_key。
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
EthernetClient client;
int    HTTP_PORT   = 8080;
String HTTP_METHOD = "POST";
char   HOST_NAME[] = "xx.xx.xx.xx";
String PATH_NAME   = "/ss/.php";
String queryString = "?api_key=aaa&value1=26&value2=70&value3=30&sensor=Ardiono&location=aa";

void setup() 
{
  Serial.begin(9600);
  if (Ethernet.begin(mac) == 0) 
  {
    Serial.println("Failed to obtaining an IP address using DHCP");
    while(true);
  }

  if(client.connect(HOST_NAME,HTTP_PORT)) 
  {
    Serial.println("Connected to server");
	client.println(HTTP_METHOD + " " + PATH_NAME + " HTTP/1.1");//
    client.println("Host: " + String(HOST_NAME));
    client.println("Connection: close\r\nContent-Type: application/x-www-form-urlencoded");//;
    client.println("Content-Length: "); client.println(queryString.length());client.println();//
    client.println(queryString);

    while(client.connected()) 
    {
      if(client.available()){
        char c = client.read();
        Serial.print(c);
      }
    }

    // the server's disconnected, stop the client:
    client.stop();
    Serial.println();
    Serial.println("disconnected");
  } 
  else 
  {// if not connected:
    Serial.println("connection failed");
  }
}

void loop() 
{

}

以上code这次测验好些回。

之前测试过好几次,发现连上的是bad request,如下图:

request 修正后,提示API key error,如下:

?真是一波三折,最终还是调好了,以前没有整过网络通讯,对client,server通讯不太了解。

?

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:27:45  更:2022-01-03 16:30:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:48:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码