Pfeffer 2018-03-07 11:02 采纳率: 50%
浏览 1021
已结题

Arduino wifi链接程序 两个小问题

 #include<ESP8266WiFi.h>
// wifi参数

const char* ssid = "mcwx999";
const char* password = "xm90919595cwj";
// Host
const char* host = “www.baidu.com”;

void setup(){
  Serial.begin(115200);// 波特率
  Serial.println();
  Serial.println("Connecting....");
  Serial.println(ssid);
  WiFi.println(ssid,password);

  // 这里是C语言的问题

while(WiFi.status()!=WL_CONNECTED)
{
delay(500);
Serial.print(".");
}

Serial.println("");
Serial.println("WiFi connected");
Serial.println(WiFi.localIP());

}
int value = 0;
void loop(){
  Serial.println(" connected to");
  Serial.println(host);
  WiFiClient client; 
  const int httpPort = 80;
  if(!client.connect(host,httport)){
   Serial.println("connection failed");
   return;
  }

//Print data to the server that a client is connected to. Prints numbers as a sequence of digits, each an ASCII character (e.g. the number 123 is sent as the three characters '1', '2', '3').
client.print(String("GET/")+"HTTP/1.1\r\n"+"Host:"+host+"/r/n"+"Connection: close\r\n\r\n");
delay(50);

while(client.available()){
  String line = client.readStringUntil('\r');
  Serial.print(line);
}

Serial.println();
Serial.println("closing connection");
delay(5000);
}

这个程序是链接某网站,并且通过串口打印。
1. 这个httpPort是瞎写的吗,还是说是能够查到。
2.WiFiClient我在Arduino的官网上查了一下,WifiLibrary下的一个子类,为什么这里会出现 WiFiClient client; 这样一条命令,我在这个类中并没有看到client.readStringUntil('\r');
3. String(“GET/”), 这个是什么样的操作。

  • 写回答

1条回答

  • threenewbee 2018-03-09 15:47
    关注

    String(“GET/”) 应该是请求网站的根路径。
    client.print(String("GET/")+"HTTP/1.1\r\n"+"Host:"+host+"/r/n"+"Connection: close\r\n\r\n");
    这是典型的http报文头,你打开chrome浏览器,按键盘f12网络抓包,随便请求一个网站,就能看到http请求头

    评论

报告相同问题?

悬赏问题

  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?