NodeMCU網路請求http請求和Https請求的示例程式碼(C++開發)
沒什麼可說的就是開發中需要做https請求,但是幾乎沒有找到例子。最後就研究開原始碼標頭檔案、等文件。
實現了https請求。
看到過一個部落格用的#include <WiFiClientSecure.h>但是那個封裝有問題。請求返回特別慢。
後來看到NodeMCU有自己的https實現。使用起來特別順滑。特地獻上一篇部落格。
這是NodeMCU開原始碼中關於網路請求的原始碼標頭檔案:
https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.h
再開發NodeMCU的時候遇到問題沒有解決方案,就要看原始碼了。
示例程式碼:
#include <ESP8266WiFi.h> #include <ESP8266HTTPClient.h> //定義全域性量 const char* ssid = "xxxx"; //替換你的ssid const char* password = "123456";//替換你的密碼 //https configs const char* host = "api.xxx.org"; //填寫你自己的域名 const int httpsPort = 443; //這是https請求標準埠 // Use web browser to view and copy // SHA1 fingerprint of the certificate //把你需要呼叫的請求地址用瀏覽器訪問,然後開啟除錯工具選擇“安全”即可看到對應請求的fingerprint,複製到這個地方即可 const char* fingerprint = "CB E2 9A F0 0B 28 4C EB 87 52 58 FD E3 EB 8C 54 9C 8E 0E F7"; //http請求 void uploadSn(String sn) { HTTPClient http; http.begin("http://api.xxx.org/api/sn/" + sn); //HTTP請求地址 int httpCode = http.GET(); if (httpCode > 0) {//斷送有無返回值 if (httpCode == HTTP_CODE_OK) {//判斷請求是正確 String payload = http.getString(); Serial.println(payload); } } else {//如果請求不成功,打印出錯誤資訊 Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str()); } http.end(); } //https請求 void callHttps2(String sn) { HTTPClient http; String url = "/api/sn/" + sn; Serial.print("requesting URL: "); Serial.println(url); http.begin(host, httpsPort, url, fingerprint); int httpCode = http.GET(); if (httpCode > 0) {//斷送有無返回值 if (httpCode == HTTP_CODE_OK) {//判斷請求是正確 String payload = http.getString(); Serial.println(payload); } } else {//如果請求不成功,打印出錯誤資訊 Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str()); } http.end(); } //初始化 void setup() { Serial.begin(115200); 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()); } //根據自己的邏輯及介面呼叫請求函式 } void loop() { delay(500); }
相關推薦
NodeMCU網路請求http請求和Https請求的示例程式碼(C++開發)
沒什麼可說的就是開發中需要做https請求,但是幾乎沒有找到例子。最後就研究開原始碼標頭檔案、等文件。實現了https請求。看到過一個部落格用的#include <WiFiClientSecure.h>但是那個封裝有問題。請求返回特別慢。後來看到NodeMCU有自
發送http請求和https請求的工具類
stack urlencode array dpa pre public char set new t package com.haiyisoft.cAssistant.utils; import java.io.IOException;import java.util.A
android開發,http請求和https請求有什麼區別
① http效率更高,https安全性更高。 ② http是超文字傳輸協議,https是安全超文字傳輸協議, ③ http資訊是以明文方式傳遞,https是使用ssl加密傳輸協議傳輸資料,也就是通過第三方工具可以擷取篡改http傳輸的資料,而https即使截獲了沒有金鑰也白
Charles抓包手機請求和Https請求
1、開啟Charles,在Proxy裡面點選Proxy Settings 2、在Proxy Settings的 Proxies新增埠 3、設定手機WLAN(注意Charles和手機連線的WIFi需在同一區域網) 4、長按連線的WIFI,出現修改網路,點選修改網路,點選顯示高階選項 5、
http 方式請求pos請求和get請求,認證方式 使用者名稱密碼
利用apache包請求get和post請求,使用者名稱和密碼認證,使用者名稱密碼填則認證,不填測不認證 利用maven構建專案 需要匯入一個包 <dependency> <groupId>org.apache.httpcomponents&l
php 網路請求 get請求和post請求
程式碼記錄 <?php header('content-type:application:json;charset=utf8'); header('Access-Control-Allow-Origin:*'); //header('Access-Control-
Struts2 攔截器處理普通Http請求和Ajax請求時攔截配置
近期發現以前的系統中存在一個如下的Bug Case: 在Session過期時,執行頁面的ajax請求時,無法正常跳轉到session過期提示頁面,系統直接hold在那裡不動,只有點選左側選單時,系統才能跳轉到session過期提示頁面。 經過調研
關於http請求和webservice請求的瞭解?
最近公司兩個系統需要對接,但是系統和系統之間傳輸的資料量很大,使用http的 get/post 非常的麻煩,因此,我們的專案總監讓我在網上看下webservice的請求。 剛剛開始的時候,對兩個感覺很模糊,因為不管怎麼樣,畢竟他們的功能都差不多,都是請求資料,帶引數。但是今
Http的Get請求和Post請求的區別.md
1 Http的Get請求和Post請求的區別 get是從伺服器獲取資料,post是傳送資料到伺服器。 get引數通過URL傳遞,post引數放在Request body中。 所以:get比post更不安全,因為引數直接暴露在URL上,所以不能用來傳遞敏感
http請求,get請求和post請求體以及響應體
一、http請求 1.Http請求格式 Http請求即客戶端傳送給伺服器的請求。該請求的內容格式如下所示: 請求首行 請求頭資訊 空行 請求正文,也稱請求體 2.使用HttpWatch抓包工具 請求資訊詳細內容如下: GET /Example03/ HTTP/1.1 Acc
web 會話超時,請求(http請求和ajax非同步請求)處理
@Overridepublic void doFilter(ServletRequest request, ServletResponse response,FilterChain filterChain) throws IOException, ServletException {HttpServletRe
http get請求和post請求的格式區別
寫了一個cgi, 支援get請求, 在fiddler中重放get請求, 一切正常, 引數格式如下: GET /cgi-bin/my_cgi?uin=12345&appID=20
java呼叫HTTP介面(Get請求和Post請求)
前提: id和name是傳入的引數 瀏覽器訪問介面: java程式碼呼叫Http介面程式碼如下(程式碼中註釋分為兩部分:處理get請求和post請求): package com.inspur.OKHTTP; import java.io.BufferedRe
HTTP深入淺出之http請求和15中以上的請求方式
HTTP(HyperText Transfer Protocol)是一套計算機通過網路進行通訊的規則。計算機專家設計出HTTP,使HTTP客戶(如Web瀏覽器)能夠從HTTP伺服器(Web伺服器)請求資訊和服務,HTTP目前協議的版本是1.1.HTTP是一種無狀態的協議,無狀態是指Web瀏覽器和Web伺服器
面試題 —— HTTP請求中get請求和post請求的區別以及底層原理
GET和POST是HTTP請求的兩種基本方法,要說它們的區別,接觸過WEB開發的人都能說出一二。 最直觀的區別就是GET把引數包含在URL中,POST通過request body傳遞引數。 你可能自己寫過無數個GET和POST請求,或者已經看過很多權威網站總結出的
HTTP的GET請求和POST請求
1、HTTP請求概述 在前面有一篇文章對HTTP協議有詳細的描述,這裡就不再過多的做說明,只是簡單的作為這篇文章的引子。 HTTP協議又被稱為超文字傳輸協議,它的的設計目的是保證客戶機與伺服器之間的通訊。HTTP 的工作方式是客戶端與伺服器之
swift3.0請求https封裝工具類(get請求和post請求)
1.首先工具類內部需要遵守URLSessionDataDelegate代理 2.實現代理方法程式碼如下: func urlSession(_ session:URLSession, didRe
swift開發網路篇—利用NSURLConnection GET請求和POST請求
一、GET請求和POST請求簡單說明 @IBOutletweakvar userName:UITextField! @IBOutletweakvar userPwd:UITextField! @IBOutletweakvar logonResult:UILab
HttpClient的post請求和get請求
ktr resp logs trac dataset 字符串 catch mes style handler 1 private int page = 1; 2 3 private Handler mHandler=new Handler(){
get請求和post請求的區別
font size 緩存 區別 post ont 服務 請求參數 瀏覽器 1.get是從服務器獲取數據,post是向服務器提交數據2.get請求的參數在url後面,post請求的參數在http body裏面3.get請求數據量在2KB以內,post請求的數據量比較大4.ge