STM 32パッケージによるHTTPリクエスト
6646 ワード
STM 32でHTTPプロトコルをカプセル化する
HTTPヘッダをカプセル化することにより、サーバにGET要求を送信し、GET要求によりデータをアップロードし、戻り値を取得する
HTTP_を呼び出すことでGETPkt()関数は指定パラメータを入力し、ローカルエリアネットワークを通じて自分で構築したサーバーにデータをアップロードすることができ、パブリックネットワークに適用する場合は、IPとPORTを相応の修正を行うだけでよい.
STM 32アップロードソース:https://github.com/PotoYang/STM32_HTTP_DataTrans
HTTPヘッダをカプセル化することにより、サーバにGET要求を送信し、GET要求によりデータをアップロードし、戻り値を取得する
#include
#include
#include
char text[30];
char temp[10];
/**
* @brief HTTP GET
* @param pkt
* @param key key
* @param data
*/
uint32_t HTTP_GETPkt(char *pkt, const char *key, int data)
{
*pkt = 0;
memset(temp, 0, 10);
memset(text, 0, 30);
// GET
sprintf(temp,"%d", data);
strcat(text, "auth_key=");
strcat(text, key);
strcat(text, "&");
strcat(text, "data=");
strcat(text, temp);
// GET
strcat(pkt, "GET /getinfo.php?");
strcat(pkt, text);
// 1.1 HTTP
strcat(pkt, " HTTP/1.1\r
");
// ,
// IP:192.168.1.108,PORT:8888
strcat(pkt, "Host: 192.168.1.108:8888\r
");
//
strcat(pkt, "Connection: Keep-Alive\r
");
//
strcat(pkt, "Cache-Control: no-cache\r
");
strcat(pkt, "\r
\r
");
return strlen(pkt);
}
HTTP_を呼び出すことでGETPkt()関数は指定パラメータを入力し、ローカルエリアネットワークを通じて自分で構築したサーバーにデータをアップロードすることができ、パブリックネットワークに適用する場合は、IPとPORTを相応の修正を行うだけでよい.
STM 32アップロードソース:https://github.com/PotoYang/STM32_HTTP_DataTrans