iT邦幫忙

0

Arduino 在傳送POST 中的語法問題

  • 分享至 

  • xImage

各位前輩好,小弟最近在做專題,用到ESP32發送http post,在操作的途中,關於ESP32發送http post的程式碼中,有些代碼,不太了解是甚麼意思,爬文也沒有找到相關解釋,如果可以還請各位前輩幫忙解答一下,謝謝。

以下先附上完整程式碼

1 if(WiFi.status()== WL_CONNECTED){   //Check WiFi connection status
2  
3    HTTPClient http;   
4  
5    http.begin("http://7554-42-72-125-57.ngrok.io/callback?message=" +       6 uuid);  //Specify destination for HTTP request
7    http.addHeader("Content-Type", "text/plain");             //Specify      8 content-type header   
9  
10    int httpResponseCode = http.POST("POSTING from ESP32");   //Send the    11 actual POST request
12  
13    if(httpResponseCode>0){
14      Serial.println(httpResponseCode);   //Print return code  
15    }else{
16      Serial.print("Error on sending POST: ");
17      Serial.println(httpResponseCode);
18    }
19  
20    http.end();  //Free resources
21  }else{
22  
23    Serial.println("Error in WiFi connection");   
24  
25      }

其中第10~20行,不是很理解,如果可以再麻煩前輩幫忙了。
謝謝各位前輩/images/emoticon/emoticon41.gif

froce iT邦大師 1 級 ‧ 2022-06-11 09:36:03 檢舉
https://zh.wikipedia.org/zh-tw/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE

10~20行只是檢查server返回的狀態碼,正常沒出錯是200,並不是大於0都沒問題。
「判斷 HTTP response code」這段不知道是誰寫的範例

除非 HTTP Server 寫錯,不然 HTTP response code 永遠都是大於 0 -_-|||

https://developer.mozilla.org/zh-TW/docs/Web/HTTP/Status
Chris iT邦新手 4 級 ‧ 2022-06-11 23:29:01 檢舉
謝謝兩位前輩的回答 但我再執行傳送post的時候 一開始都會是正常 200 但傳個幾次後 就會開始變成-1了 前輩知道這是甚麼問題嗎 謝謝
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2022-06-12 11:29:23

直接打 ngrok 就失敗
https://ithelp.ithome.com.tw/upload/images/20220612/20001787YJ9mbry3MQ.png

Google 最大的收獲是這個網站
可以模擬 ESP32/HTTP client
還包 source code
https://ithelp.ithome.com.tw/upload/images/20220612/20001787jlVVNnBoN2.png

我改成你的 ngrok 的 URL,隨便塞個 UUID
結果得到 -3 的 response code
看起來原因應該是出在 ngrok 端了...

Chris iT邦新手 4 級 ‧ 2022-06-12 20:23:17 檢舉

謝謝前輩

我要發表回答

立即登入回答