建筑公司電話號(hào)碼重慶網(wǎng)頁(yè)優(yōu)化seo
簡(jiǎn)介
C++ 使用httplib庫(kù),發(fā)送HTTP請(qǐng)求
接口信息
ip地址 192.168.16.166
端口 8899
接口地址/abc/tk
請(qǐng)求方式GET
響應(yīng)內(nèi)容:
{
“result”: true,
“message”: “”,
“tk”: “yueguangsaxialexiangshuitan0ihai”,
“datetimeout”: “2023-10-22 21:13:21”
}
代碼
#include <iostream>
#include <httplib.h> using namespace std;//將UTF-8編碼的字符串轉(zhuǎn)換為本地編碼
string Utf8ToLocal(string str);int main()
{try{//設(shè)置請(qǐng)求參數(shù) string url = "/abc/tk";string cp = "wumengshanlianzheshanwaishan";string urlCp = url + "?cp=" + cp;// 發(fā)起HTTP GET請(qǐng)求httplib::Client cli("192.168.16.166", 8899);if (auto res = cli.Get(urlCp.c_str())){cout << res->status << endl;cout << res->reason << endl;cout << res->get_header_value("content-type") << endl;cout << Utf8ToLocal(res->body) << endl;}else{cout << "error code: " << res.error() << std::endl;}}catch (...){}std::cin.get();return 0;
}
輸出:
200
OK
application/json;charset=UTF-8
{“result”:true,“message”:"",“tk”:“yueguangsaxialexiangshuitan0ihai”,“datetimeout”:“2023-10-22 21:13:21”}
HTTP/HTTPS 簡(jiǎn)介
HTTP 協(xié)議是 Hyper Text Transfer Protocol(超文本傳輸協(xié)議)的縮寫(xiě),是用于從萬(wàn)維網(wǎng)( WWW:World Wide Web )服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。
HTTP 是一個(gè)基于 TCP/IP 通信協(xié)議來(lái)傳遞數(shù)據(jù)(HTML 文件、圖片文件、查詢結(jié)果等)。
HTTPS 協(xié)議是 HyperText Transfer Protocol Secure(超文本傳輸安全協(xié)議)的縮寫(xiě),是一種通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行安全通信的傳輸協(xié)議。
HTTPS 經(jīng)由 HTTP 進(jìn)行通信,但利用 SSL/TLS 來(lái)加密數(shù)據(jù)包,HTTPS 開(kāi)發(fā)的主要目的,是提供對(duì)網(wǎng)站服務(wù)器的身份認(rèn)證,保護(hù)交換資料的隱私與完整性。
HTTP 的 URL 是由 http:// 起始與默認(rèn)使用端口 80,而 HTTPS 的 URL 則是由 https:// 起始與默認(rèn)使用端口443。
HTTP 工作原理
HTTP 協(xié)議工作于客戶端-服務(wù)端架構(gòu)上。
瀏覽器作為 HTTP 客戶端通過(guò) URL 向 HTTP 服務(wù)端即 WEB 服務(wù)器發(fā)送所有請(qǐng)求。
Web 服務(wù)器有:Apache 服務(wù)器,IIS 服務(wù)器(Internet Information Services)等。
Web 服務(wù)器根據(jù)接收到的請(qǐng)求后,向客戶端發(fā)送響應(yīng)信息。
HTTP 默認(rèn)端口號(hào)為 80,但是你也可以改為 8080 或者其他端口。
HTTP 三點(diǎn)注意事項(xiàng):
HTTP 是無(wú)連接:無(wú)連接的含義是限制每次連接只處理一個(gè)請(qǐng)求,服務(wù)器處理完客戶的請(qǐng)求,并收到客戶的應(yīng)答后,即斷開(kāi)連接,采用這種方式可以節(jié)省傳輸時(shí)間。
HTTP 是媒體獨(dú)立的:這意味著,只要客戶端和服務(wù)器知道如何處理的數(shù)據(jù)內(nèi)容,任何類型的數(shù)據(jù)都可以通過(guò)HTTP發(fā)送,客戶端以及服務(wù)器指定使用適合的 MIME-type 內(nèi)容類型。
HTTP 是無(wú)狀態(tài):HTTP 協(xié)議是無(wú)狀態(tài)協(xié)議,無(wú)狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒(méi)有記憶能力,缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大,另一方面,在服務(wù)器不需要先前信息時(shí)它的應(yīng)答就較快。
以下圖表展示了 HTTP 協(xié)議通信流程:
HTTPS 作用
HTTPS 的主要作用是在不安全的網(wǎng)絡(luò)上創(chuàng)建一個(gè)安全信道,并可在使用適當(dāng)?shù)募用馨头?wù)器證書(shū)可被驗(yàn)證且可被信任時(shí),對(duì)竊聽(tīng)和中間人攻擊提供合理的防護(hù)。
HTTPS 的信任基于預(yù)先安裝在操作系統(tǒng)中的證書(shū)頒發(fā)機(jī)構(gòu)(CA)。
因此,與一個(gè)網(wǎng)站之間的 HTTPS 連線僅在這些情況下可被信任:
瀏覽器正確地實(shí)現(xiàn)了 HTTPS 且操作系統(tǒng)中安裝了正確且受信任的證書(shū)頒發(fā)機(jī)構(gòu);
證書(shū)頒發(fā)機(jī)構(gòu)僅信任合法的網(wǎng)站;
被訪問(wèn)的網(wǎng)站提供了一個(gè)有效的證書(shū),也就是說(shuō)它是一個(gè)由操作系統(tǒng)信任的證書(shū)頒發(fā)機(jī)構(gòu)簽發(fā)的(大部分瀏覽器會(huì)對(duì)無(wú)效的證書(shū)發(fā)出警告);
該證書(shū)正確地驗(yàn)證了被訪問(wèn)的網(wǎng)站(例如,訪問(wèn) https://www.runoob.com 時(shí)收到了簽發(fā)給 www.runoob.com 而不是其它域名的證書(shū));
此協(xié)議的加密層(SSL/TLS)能夠有效地提供認(rèn)證和高強(qiáng)度的加密。