色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

cpr 1.3.0 編譯安裝與工程接入避坑指南

cpr 1.3.0 編譯安裝與工程接入避坑指南 簡介cpr-1.3.0 預(yù)編譯庫面向使用 C 發(fā)起 HTTP 請求的開發(fā)者適合在 VS 項(xiàng)目中快速接入、又不想自行編譯 cpr 與 libcurl 的初、中級人員。壓縮包共 27 個(gè)文件含 21 個(gè)頭文件、4 個(gè) lib 靜態(tài)庫和 2 個(gè) dll 動(dòng)態(tài)庫Debug/Release 均提供 cpr.lib、libcurl.dll 等整體約 738KB便于隨工程歸檔引用。資源由 weststarqp 于 2019 年 2 月基于 VS2015 編譯已有 691 人學(xué)習(xí)。解壓后可按配置將頭文件、庫文件與動(dòng)態(tài)庫加入工程減少搭建依賴環(huán)境的時(shí)間并借助頭文件了解 session、response、auth、cookies 等接口為請求封裝和調(diào)試提供基礎(chǔ)。1. 從一次庫在頭文件不在的編譯失敗說起上周接手一個(gè)內(nèi)部工具的構(gòu)建CMakeLists 里一行find_package(cpr REQUIRED)我以為是十分鐘的事結(jié)果make直接甩出一堆fatal error: cpr/generated/cpr_generated_includes.h: No such file or directory。庫文件明明裝了頭文件目錄也加進(jìn)-I了偏偏缺一個(gè)名字很長的中間頭文件。這就是 cpr 1.3.0 最經(jīng)典的一關(guān)。cpr 全稱 C Requests是把 libcurl 那套 C 接口包成cpr::Get/cpr::Response風(fēng)格的 C11 庫寫 HTTP 客戶端時(shí)不用再和curl_easy_setopt的變參列表較勁。它常見于數(shù)據(jù)采集、內(nèi)部服務(wù)探活、CI 里的小工具這類場景。裝不順的后果很直接編譯期缺頭鏈接期缺符號(hào)運(yùn)行期 SSL 握手失敗一路踩下來比手寫 libcurl 還費(fèi)時(shí)間。這篇記錄適合正在找 cpr-1.3.0 怎么安裝、怎么配置、環(huán)境怎么搭的人。2. 環(huán)境盤點(diǎn)cpr 1.3.0 編起來到底要哪幾樣?xùn)|西動(dòng)手之前先把依賴列清楚比編到一半再回頭補(bǔ)要省事得多。cpr 1.3.0 本身不復(fù)雜它就是一層薄封裝真正的重活在 libcurl 和 OpenSSL 上。麻煩的地方在于它的 CMake 腳本默認(rèn)行為偏自給自足會(huì)嘗試自己去弄 curl 源碼這在有外網(wǎng)的開發(fā)機(jī)上無感在隔離環(huán)境里就是災(zāi)難。所以這一章的重點(diǎn)不是羅列依賴而是把每個(gè)依賴的來源定下來編譯器從系統(tǒng)來curl 從系統(tǒng)來SSL 從系統(tǒng)來三樣都鎖死構(gòu)建過程才是可復(fù)現(xiàn)的。2.1 編譯器與 C 標(biāo)準(zhǔn)C11 是底線不是可選項(xiàng)cpr 1.3.0 的公開頭文件里用了std::function、std::unordered_map、右值引用和大量 lambda編譯選項(xiàng)里必須打開 C11。GCC 建議 7 以上Clang 建議 6 以上MSVC 走 2017 以后的版本比較穩(wěn)。我一般不去賭默認(rèn)標(biāo)準(zhǔn)而是在工程頂層直接寫死避免某個(gè)下游工程把-std覆蓋掉之后報(bào)出一堆看不懂的模板推導(dǎo)錯(cuò)誤。# 頂層 CMakeLists.txt在 project() 之后立刻設(shè)置 set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 找不到 C11 編譯器就直接失敗而不是悄悄降級 set(CMAKE_CXX_EXTENSIONS OFF) # 關(guān)掉 gnu11保持可移植這三行的邏輯是第一行聲明目標(biāo)標(biāo)準(zhǔn)第二行把必須有變成硬約束第三行避免編譯期混入 GNU 擴(kuò)展導(dǎo)致?lián)Q編譯器就編不過。很多在我機(jī)器上能編的事故源頭就是CMAKE_CXX_EXTENSIONS默認(rèn)開著代碼里不小心用了typeof之類的東西換到 Clang 上直接崩。如果你的工程已經(jīng)是 C14 或 C17不用降級cpr 1.3.0 在更高標(biāo)準(zhǔn)下也能編只是別把-stdc98這種老配置帶進(jìn)來。2.2 libcurl 用系統(tǒng)的還是自帶的一個(gè)決定影響后面所有鏈接錯(cuò)誤cpr 的 CMake 里有一個(gè)開關(guān)叫CPR_FORCE_USE_SYSTEM_CURL默認(rèn)是關(guān)閉的。關(guān)閉狀態(tài)下構(gòu)建腳本會(huì)嘗試把 curl 源碼弄到本地再一起編。這個(gè)設(shè)計(jì)對想零依賴的人友好但在實(shí)際部署里問題不少構(gòu)建過程會(huì)依賴外部源碼獲取網(wǎng)絡(luò)受限時(shí)直接卡住就算拿到了源碼編出來的 curl 和系統(tǒng)里其他程序用的 curl 也是兩份后面做動(dòng)態(tài)鏈接時(shí)符號(hào)容易打架。我的做法是一律強(qiáng)制用系統(tǒng) curl前提是先確認(rèn)開發(fā)包裝好了# Debian / Ubuntu 系裝 curl 的開發(fā)頭文件和靜態(tài)庫 sudo apt-get install -y libcurl4-openssl-dev # RHEL / CentOS 系 sudo yum install -y libcurl-devel # 確認(rèn)系統(tǒng)里的 curl 版本低于 7.50 建議先升級 curl-config --version curl-config --libs # 看鏈接參數(shù)里是否帶 -lssl -lcryptolibcurl4-openssl-dev這個(gè)名字不是隨便挑的它決定了 curl 背后用的是 OpenSSL 而不是別的 TLS 實(shí)現(xiàn)。cpr 的 SSL 相關(guān)代碼路徑和 curl 的 TLS 后端是綁定的混用會(huì)出現(xiàn)編譯通過但運(yùn)行期證書校驗(yàn)行為異常這種很難查的問題。curl-config --libs的輸出要重點(diǎn)看如果里面沒有-lssl -lcrypto說明裝的是不帶 SSL 的版本后面CPR_ENABLE_SSLON會(huì)直接失敗。裝完開發(fā)包后再跑一次curl-config --version把版本號(hào)記下來后面排查時(shí)有用。2.3 OpenSSL 與 zlibSSL 開關(guān)背后的兩個(gè)真實(shí)依賴cpr 1.3.0 的CPR_ENABLE_SSL默認(rèn)打開打開之后就會(huì)去找 OpenSSL 的頭文件和庫。1.1.1 系列是目前兼容性最好的選擇如果系統(tǒng)里是 3.x多數(shù)情況下也能編但要留意 cpr 這層封裝里對舊宏的引用個(gè)別發(fā)行版會(huì)報(bào)OPENSSL_VERSION_NUMBER相關(guān)的棄用警告警告本身不影響產(chǎn)物但會(huì)淹沒真正的錯(cuò)誤信息。zlib 的情況稍微特殊一點(diǎn)cpr 本身不直接用 zlib但 curl 在開啟內(nèi)容壓縮支持時(shí)會(huì)依賴它。如果你的請求需要帶Accept-Encoding: gzip那 curl 編的時(shí)候就必須帶 zlib否則服務(wù)端返回壓縮體時(shí)你拿到的是亂碼。檢查辦法很直接# 看 curl 的編譯特性里有沒有 zlib 和 SSL curl -V # 輸出里的 Features 一行應(yīng)包含 libz、SSL、HTTPS-proxy 等關(guān)鍵字這一步屬于裝之前花十秒裝之后省兩小時(shí)的檢查。很多環(huán)境里 curl 是精簡版編譯的特性列表里沒有 libz等到業(yè)務(wù)代碼里手動(dòng)解壓失敗才發(fā)現(xiàn)回頭重裝 curl 還得連帶重編 cpr代價(jià)不小。2.4 一套我常用的版本組合下面這張表是我這幾年在不同機(jī)器上落地過的組合不是官方要求只是這個(gè)范圍內(nèi)我沒翻過車的經(jīng)驗(yàn)區(qū)間??绱蟀姹緯r(shí)差異會(huì)放大比如把 curl 從 7.x 換到 8.x鏈接參數(shù)和部分宏定義都有變化需要重新驗(yàn)證一遍。組件推薦區(qū)間說明CMake3.10 及以上低版本對target_include_directories的 install 導(dǎo)出支持不全GCC7 及以上低于 7 時(shí) C11 的std::string_view替代實(shí)現(xiàn)容易出問題Clang6 及以上與 libstdc 搭配時(shí)注意版本匹配libcurl7.58 及以上7.58 前后 SSL 相關(guān)宏有調(diào)整1.3.0 在舊版上偶發(fā)編譯錯(cuò)誤OpenSSL1.1.1 系列兼容性最好3.x 可用但會(huì)有棄用警告zlib1.2.8 及以上只影響壓縮傳輸不影響基礎(chǔ)請求這張表的意義在于縮小排查范圍。當(dāng)你遇到一個(gè)詭異的編譯錯(cuò)誤時(shí)先對照表格確認(rèn)自己不在邊緣組合上再去翻代碼效率會(huì)高很多。3. 編譯安裝把 cpr 1.3.0 裝進(jìn)一個(gè)干凈前綴到這一步依賴都齊了可以開始編。我強(qiáng)烈建議裝到獨(dú)立前綴而不是/usr/local原因很現(xiàn)實(shí)cpr 1.3.0 是幾年前的版本你手上可能還有別的工程依賴更高版本的 cpr全都塞進(jìn)/usr/local之后find_package找到哪個(gè)全看運(yùn)氣。獨(dú)立前綴加上CMAKE_PREFIX_PATH能把這套依賴隔離得干干凈凈卸載的時(shí)候一個(gè)rm -rf就完事不留殘?jiān)?.1 源碼落地與 out-of-source 構(gòu)建目錄先建兩個(gè)目錄一個(gè)放源碼一個(gè)放構(gòu)建產(chǎn)物嚴(yán)格分開。in-source 構(gòu)建在 cpr 這種帶代碼生成的工程里尤其危險(xiǎn)中間文件會(huì)污染源碼樹下次換配置時(shí) CMakeCache 里全是臟數(shù)據(jù)。# 目錄規(guī)劃源碼和產(chǎn)物分開安裝前綴獨(dú)立 mkdir -p ~/work/cpr-1.3.0-src mkdir -p ~/work/build-cpr mkdir -p /opt/cpr-1.3.0 # 假設(shè)源碼包已經(jīng)解壓到 ~/work/cpr-1.3.0-src cd ~/work/cpr-1.3.0-src ls CMakeLists.txt include/ # 確認(rèn)目錄結(jié)構(gòu)對得上再往下走ls這一步別省。有些壓縮包解開后多套一層目錄直接cmake -S .會(huì)報(bào)找不到 CMakeLists.txt新手容易在這里懷疑人生。確認(rèn)CMakeLists.txt和include/在同一層就是正確的源碼根目錄。安裝前綴/opt/cpr-1.3.0里的版本號(hào)也別省將來并存多個(gè)版本時(shí)這個(gè)命名能救你一次。3.2 CMake 關(guān)鍵選項(xiàng)逐個(gè)拆配置階段是整個(gè)安裝過程里最值得花時(shí)間的地方。下面這條命令是我在大多數(shù)環(huán)境里用的版本參數(shù)看著多但每一項(xiàng)都對應(yīng)一個(gè)具體的失敗場景。cmake -S ~/work/cpr-1.3.0-src \ -B ~/work/build-cpr \ -DCMAKE_BUILD_TYPERelease \ -DCMAKE_INSTALL_PREFIX/opt/cpr-1.3.0 \ -DCPR_BUILD_TESTSOFF \ -DCPR_BUILD_SERVEROFF \ -DCPR_ENABLE_SSLON \ -DCPR_FORCE_USE_SYSTEM_CURLON \ -DBUILD_SHARED_LIBSON \ -DCMAKE_POSITION_INDEPENDENT_CODEON逐項(xiàng)說明-S和-B是現(xiàn)代 CMake 的寫法分別指源碼目錄和構(gòu)建目錄等價(jià)于進(jìn)目錄再跑cmake ..但更不容易出錯(cuò)。CMAKE_BUILD_TYPERelease打開優(yōu)化并去掉調(diào)試符號(hào)。cpr 1.3.0 在 Debug 下編出來的庫體積會(huì)大不少作為依賴庫沒必要。CMAKE_INSTALL_PREFIX決定make install往哪寫這里就是前面建好的獨(dú)立前綴。CPR_BUILD_TESTSOFF很關(guān)鍵。打開后它會(huì)去找測試框架在你沒有預(yù)裝的環(huán)境里會(huì)直接失敗而且測試代碼本身對產(chǎn)物沒有任何貢獻(xiàn)。CPR_BUILD_SERVEROFF關(guān)掉配套的測試服務(wù)端同理。CPR_ENABLE_SSLON顯式打開別依賴默認(rèn)值尤其在別人寫好的構(gòu)建腳本里。CPR_FORCE_USE_SYSTEM_CURLON是前面 2.2 節(jié)說過的那個(gè)決定必須顯式指定。BUILD_SHARED_LIBSON出動(dòng)態(tài)庫。如果你的部署環(huán)境不方便帶.so改成OFF出靜態(tài)庫這個(gè)取舍在第 4 章細(xì)說。CMAKE_POSITION_INDEPENDENT_CODEON保證生成的庫能被鏈接進(jìn)動(dòng)態(tài)庫即使當(dāng)前選的是靜態(tài)庫也建議開著。配置跑完后重點(diǎn)看輸出的末尾幾行會(huì)打印出檢測到的 curl 版本、SSL 后端、是否啟用 zlib。這三行信息比任何文檔都真實(shí)因?yàn)樗菑漠?dāng)前這臺(tái)機(jī)器上探測出來的。3.3 編譯、安裝以及 generated 頭文件這一關(guān)cmake --build ~/work/build-cpr -j$(nproc) cmake --install ~/work/build-cpr-j后面跟并行度用nproc拿到核數(shù)就行。cpr 本身編譯很快瓶頸通常在它要不要額外編 curl一旦看到編譯過程里出現(xiàn)了大量 curl 的源文件說明 3.2 節(jié)那個(gè)開關(guān)沒生效回去檢查參數(shù)拼寫。安裝完之后必須做一次落地檢查這是整個(gè)流程里最容易被跳過、也最容易出問題的一步# 檢查關(guān)鍵頭文件和庫是否真的落到了前綴目錄 find /opt/cpr-1.3.0 -name *.h | head -20 find /opt/cpr-1.3.0 -name libcpr* ls /opt/cpr-1.3.0/lib/cmake/cpr/ 2/dev/null || echo 缺 CMake 配置文件三條命令分別查頭文件、庫文件、CMake 包配置。重點(diǎn)看頭文件列表里有沒有一個(gè)路徑里帶generated字樣的文件——cpr 1.3.0 在構(gòu)建時(shí)會(huì)生成一份與 curl 頭文件版本相關(guān)的中間頭文件而老版本的安裝規(guī)則在某些平臺(tái)上不會(huì)把它一起裝進(jìn)去于是出現(xiàn)第 1 章開頭那個(gè)報(bào)錯(cuò)。如果確實(shí)缺了從構(gòu)建目錄里找出來手動(dòng)補(bǔ)進(jìn)去# 在構(gòu)建目錄里定位生成的中間頭文件 find ~/work/build-cpr -name cpr_generated_includes.h # 找到后按原相對路徑補(bǔ)到安裝前綴 mkdir -p /opt/cpr-1.3.0/include/cpr/generated cp ~/work/build-cpr/include/cpr/generated/cpr_generated_includes.h \ /opt/cpr-1.3.0/include/cpr/generated/補(bǔ)完之后再find一次確認(rèn)。這一步屬于典型的官方安裝規(guī)則沒覆蓋到的坑不補(bǔ)的話下游工程#include cpr/cpr.h必然失敗而且報(bào)錯(cuò)指向的是一個(gè)你沒寫過的文件名第一眼很難聯(lián)想到是安裝不完整。CMake 里還有個(gè)CPR_GENERATED_SOURCES_DIRECTORY變量可以用來指定生成物的輸出位置不同小版本行為不完全一致我最后都會(huì)用上面這條手動(dòng)校驗(yàn)兜底不賭它的默認(rèn)行為。另外如果目標(biāo)是直接拿現(xiàn)成的庫文件用那么落地檢查同樣適用頭文件樹里必須有cpr/cpr.h、cpr/generated/下那個(gè)生成文件、lib/下的庫以及l(fā)ib/cmake/cpr/下的配置文件四樣少一樣都不算完整。少 CMake 配置文件的后果是find_package直接失敗很多人在這一步誤以為是版本不匹配其實(shí)只是安裝不完整。3.4 find_package 接入與 pkg-config 備選安裝到位之后在下游工程里就該能直接找到了。標(biāo)準(zhǔn)寫法# 下游工程的 CMakeLists.txt find_package(cpr REQUIRED) add_executable(probe main.cpp) target_link_libraries(probe PRIVATE cpr::cpr)find_package會(huì)去CMAKE_PREFIX_PATH里找cprConfig.cmake所以如果裝在/opt下配置時(shí)要帶上路徑cmake -S . -B build -DCMAKE_PREFIX_PATH/opt/cpr-1.3.0如果find_package報(bào)找不到先別懷疑版本按順序查三件事配置文件是否在lib/cmake/cpr/下、CMAKE_PREFIX_PATH是否傳進(jìn)去了、前置的 curl 是否也能被找到。第三條經(jīng)常被忽略——cpr 的配置文件里會(huì)find_dependency(CURL)如果你把 cpr 裝到了前綴里但 curl 是系統(tǒng)包通常沒問題反過來把 curl 也裝在獨(dú)立前綴里卻忘了把那個(gè)前綴加進(jìn)搜索路徑就會(huì)在find_package(cpr)這一行報(bào)出莫名其妙的依賴錯(cuò)誤。target_link_libraries里的cpr::cpr是導(dǎo)出目標(biāo)名。個(gè)別打包方式下目標(biāo)名會(huì)不一樣鏈接時(shí)報(bào) Target not found 的話打開cprConfig.cmake看一眼里面add_library(... IMPORTED)那行寫的是什么名字照著改即可別去改系統(tǒng)文件。對于不用 CMake 的老工程還有一條退路是直接手寫鏈接參數(shù)# 用 curl-config 拿 curl 的鏈接參數(shù)再拼上 cpr 的庫 g main.cpp -I/opt/cpr-1.3.0/include \ -L/opt/cpr-1.3.0/lib -lcpr \ $(curl-config --libs) -lssl -lcrypto -lz -o probe這條命令的每段都有用-I指向 cpr 頭文件-L -lcpr指向庫curl-config --libs把 curl 需要的參數(shù)一次性展開最后三個(gè)是 SSL 和壓縮的顯式依賴。順序很重要庫要放在源文件后面否則 GCC 會(huì)因?yàn)榉?hào)未解析而報(bào)錯(cuò)。4. 工程接入把 cpr 1.3.0 寫進(jìn)業(yè)務(wù)代碼庫裝好了只是開始真正決定這套環(huán)境好不好用的是接入方式。cpr 1.3.0 的 API 設(shè)計(jì)很接近腳本語言的 HTTP 客戶端幾行就能發(fā)請求但也正因?yàn)樘樖秩菀讓懗鰶]有超時(shí)、沒有錯(cuò)誤分支、連接不復(fù)用的代碼上線之后在弱網(wǎng)環(huán)境里表現(xiàn)一塌糊涂。這一章從最小可運(yùn)行例子往外擴(kuò)把參數(shù)取舍講清楚。4.1 最小可編譯的 CMakeLists 與一次 GET先跑通再說別的。下面這段是能編能跑的最小骨架#include cpr/cpr.h #include iostream int main() { // 用本地地址驗(yàn)證避免引入外部依賴 cpr::Response r cpr::Get( cpr::Url{http://127.0.0.1:8080/health}, cpr::Timeout{3000} // 整體超時(shí)單位毫秒 ); // error.code 是傳輸層狀態(tài)status_code 是 HTTP 層狀態(tài)兩者互不替代 if (r.error.code ! cpr::ErrorCode::OK) { std::cerr transport: r.error.message \n; return 2; } std::cout http r.status_code body r.text \n; return 0; }關(guān)鍵在最后那個(gè)判斷。cpr 把兩類失敗分得很清楚r.error記錄的是連接超時(shí)、DNS 失敗、SSL 握手失敗這類傳輸層問題r.status_code記錄的是服務(wù)端返回的 HTTP 狀態(tài)碼。只判斷status_code是新手最常見的疏漏——連接都失敗了status_code是 0業(yè)務(wù)邏輯會(huì)把它當(dāng)成服務(wù)端返回 0處理后面全亂。判斷順序永遠(yuǎn)是先看error.code再看status_code。配套的 CMakeLists 就是 3.4 節(jié)那幾行加上源文件即可。注意別在target_link_libraries里再手動(dòng)補(bǔ)-lcurlcpr::cpr已經(jīng)把傳遞依賴帶上了重復(fù)鏈接在某些平臺(tái)上會(huì)導(dǎo)致符號(hào)重復(fù)定義。4.2 超時(shí)、重試與 SSL 校驗(yàn)的參數(shù)取舍生產(chǎn)代碼和 Demo 的差距基本都在這三個(gè)參數(shù)上。cpr 1.3.0 的超時(shí)是整體超時(shí)不是連接超時(shí)和讀取超時(shí)的分別設(shè)置所以給值的時(shí)候要按業(yè)務(wù)最壞情況考慮。#include cpr/cpr.h #include chrono #include thread #include iostream // 帶退避的簡單重試只對傳輸層失敗重試HTTP 4xx 不重試 cpr::Response GetWithRetry(const std::string url, int max_attempts 3) { cpr::Response r; for (int i 0; i max_attempts; i) { cpr::Session s; s.SetUrl(cpr::Url{url}); s.SetTimeout(cpr::Timeout{2000}); // 單次請求 2 秒 s.SetConnectTimeout(cpr::ConnectTimeout{800}); // 建連單獨(dú)限時(shí) s.SetHeader(cpr::Header{{User-Agent, cpr-1.3.0-probe}}); r s.Get(); if (r.error.code cpr::ErrorCode::OK) { return r; // 傳輸成功就返回HTTP 層交給調(diào)用方判斷 } std::this_thread::sleep_for(std::chrono::milliseconds(200 * (i 1))); } return r; }這段的取舍點(diǎn)有三個(gè)。第一Timeout和ConnectTimeout分開設(shè)建連超時(shí)給得短一些能快速判斷目標(biāo)是否可達(dá)整體超時(shí)留出讀取響應(yīng)的時(shí)間。第二重試只針對傳輸層錯(cuò)誤HTTP 500 這種服務(wù)端明確返回的結(jié)果不重試重試反而可能放大故障。第三退避用線性遞增簡單夠用不需要引入額外依賴。關(guān)于 SSL 校驗(yàn)cpr 提供了cpr::VerifySsl{false}來跳過證書校驗(yàn)。這個(gè)開關(guān)在調(diào)試自簽證書的內(nèi)網(wǎng)服務(wù)時(shí)確實(shí)方便但絕對不要出現(xiàn)在生產(chǎn)代碼里。如果內(nèi)網(wǎng)服務(wù)用的是自簽證書正確做法是把 CA 證書裝進(jìn)系統(tǒng)信任庫或者用cpr::SslOptions指定 CA 路徑而不是關(guān)校驗(yàn)。這條屬于血淚經(jīng)驗(yàn)跳過校驗(yàn)的代碼一旦進(jìn)了主干后面很難再摘出來。4.3 靜態(tài)鏈接與動(dòng)態(tài)鏈接部署時(shí)的取舍裝的時(shí)候BUILD_SHARED_LIBS選哪個(gè)直接決定部署形態(tài)。動(dòng)態(tài)庫的好處是多個(gè)程序共用一份libcpr.so升級時(shí)替換文件即可缺點(diǎn)是部署時(shí)必須帶上.so還得處理RPATH或者設(shè)LD_LIBRARY_PATH。cpr 依賴 curlcurl 又依賴 SSL 和 zlib動(dòng)態(tài)鏈接下這條依賴鏈上任何一環(huán)版本不匹配運(yùn)行期就是一個(gè)symbol lookup error。靜態(tài)庫的好處是產(chǎn)物自包含拷貝一個(gè)可執(zhí)行文件就能跑特別適合分發(fā)小工具或者塞進(jìn)容器鏡像。代價(jià)是體積變大而且必須確保 curl 的靜態(tài)庫也在系統(tǒng)里——很多發(fā)行版的libcurl4-openssl-dev只帶動(dòng)態(tài)庫靜態(tài)庫在單獨(dú)的包里裝漏了會(huì)在鏈接階段報(bào)找不到libcurl.a。我的習(xí)慣是內(nèi)部服務(wù)用動(dòng)態(tài)庫方便統(tǒng)一升級對外分發(fā)的小工具用靜態(tài)庫減少環(huán)境依賴。如果選靜態(tài)安裝 cpr 時(shí)把BUILD_SHARED_LIBS設(shè)為OFF下游鏈接時(shí)確保-lcurl -lssl -lcrypto -lz都能找到靜態(tài)版本。4.4 復(fù)用 Session 而不是每次新建cpr 的cpr::Get這種自由函數(shù)寫法內(nèi)部會(huì)新建一個(gè) Session用完銷毀連接自然也不復(fù)用。在請求量大的場景里這會(huì)明顯拖慢吞吐。改成顯式持有 Session// 長生命周期的 Session復(fù)用連接和 TLS 會(huì)話 cpr::Session session; session.SetUrl(cpr::Url{http://127.0.0.1:8080/api/items}); session.SetTimeout(cpr::Timeout{2000}); session.SetHeader(cpr::Header{{Accept, application/json}}); // 同一個(gè) Session 可以改參數(shù)后重復(fù)調(diào)用 session.SetParameters(cpr::Parameters{{page, 1}, {size, 50}}); cpr::Response first session.Get(); session.SetParameters(cpr::Parameters{{page, 2}, {size, 50}}); cpr::Response second session.Get();要注意 Session 不是線程安全的一個(gè)實(shí)例只能在一個(gè)線程里用。多線程場景下每個(gè)線程各自持有 Session別圖省事搞個(gè)全局共享的那種問題往往在高并發(fā)壓測時(shí)才暴露排查成本很高。5. 常見排查cpr 1.3.0 編譯鏈接的五個(gè)翻車現(xiàn)場這一章按現(xiàn)象 → 原因 → 解決記錄五條實(shí)際遇到過的故障。它們的共同點(diǎn)是報(bào)錯(cuò)信息都不太直觀第一眼容易往錯(cuò)誤的方向猜。5.1 編譯期三類報(bào)錯(cuò)第一條報(bào)fatal error: cpr/generated/cpr_generated_includes.h: No such file or directory?,F(xiàn)象是庫裝了、頭文件路徑也加了就是缺這一個(gè)文件。原因是 1.3.0 的安裝規(guī)則沒有把這個(gè)構(gòu)建時(shí)生成的頭文件一起裝進(jìn)去具體表現(xiàn)隨平臺(tái)和 CMake 版本略有差異。解決就是 3.3 節(jié)那套從構(gòu)建目錄find出來按相對路徑手動(dòng)補(bǔ)到$PREFIX/include/cpr/generated/下補(bǔ)完記得再find一次確認(rèn)。第二條報(bào)大量undefined reference to curl_easy_...?,F(xiàn)象是編譯通過鏈接階段成片報(bào)錯(cuò)。原因是鏈接順序不對或者cpr::cpr的傳遞依賴沒生效。解決是先確認(rèn)用的是target_link_libraries(xxx PRIVATE cpr::cpr)而不是手寫-lcpr手寫的話庫必須放在目標(biāo)文件之后并且補(bǔ)上$(curl-config --libs)。如果還是不行檢查是不是同時(shí)鏈接了系統(tǒng)里另一份 curl。第三條配置階段卡住或者報(bào)下載失敗?,F(xiàn)象是cmake跑到一半長時(shí)間沒動(dòng)靜日志里出現(xiàn)獲取外部源碼的動(dòng)作。原因就是CPR_FORCE_USE_SYSTEM_CURL沒開腳本在嘗試自己弄 curl。解決是回到 3.2 節(jié)把這個(gè)參數(shù)顯式設(shè)為ON然后刪掉構(gòu)建目錄重新配置——注意是刪掉整個(gè)構(gòu)建目錄只改參數(shù)重跑緩存的變量未必能覆蓋干凈。5.2 鏈接與運(yùn)行期兩類報(bào)錯(cuò)第四條運(yùn)行期報(bào) SSL 相關(guān)錯(cuò)誤r.error.message里出現(xiàn)證書驗(yàn)證失敗的字樣?,F(xiàn)象是請求某個(gè) HTTPS 地址一直失敗換 HTTP 就正常。原因是 curl 編譯時(shí)用的 TLS 后端和系統(tǒng)信任庫路徑對不上或者時(shí)間不對導(dǎo)致證書被判定為未生效。解決是先跑curl -V確認(rèn) Features 里有 SSL再用curl -v https://目標(biāo)地址對照排查——如果命令行 curl 也失敗問題在系統(tǒng)層跟 cpr 無關(guān)如果命令行成功而 cpr 失敗檢查鏈接的是不是另一份 curl。第五條程序啟動(dòng)就報(bào)找不到libcpr.so?,F(xiàn)象是編譯鏈接都通過了執(zhí)行時(shí)報(bào)共享庫加載失敗。原因是庫裝在非標(biāo)準(zhǔn)前綴運(yùn)行時(shí)加載器找不到。解決有三個(gè)層次臨時(shí)用LD_LIBRARY_PATH/opt/cpr-1.3.0/lib ./probe驗(yàn)證確認(rèn)是路徑問題長期方案是在 CMake 里設(shè)置INSTALL_RPATH或者把前綴寫進(jìn)/etc/ld.so.conf.d/后跑一次ldconfig。千萬別把LD_LIBRARY_PATH寫進(jìn)全局 shell 配置文件那會(huì)影響同一臺(tái)機(jī)器上所有程序后患無窮。6. 驗(yàn)證跑通三組對照把能跑和跑對分開裝完最忌諱的是編譯通過就完事。我見過太多次編譯沒問題、一上真實(shí)網(wǎng)絡(luò)就出狀況的情況。下面這套驗(yàn)證分三層一層比一層接近真實(shí)使用。第一層靜態(tài)檢查。確認(rèn)四樣?xùn)|西齊全檢查項(xiàng)路徑缺失后果主頭文件/opt/cpr-1.3.0/include/cpr/cpr.h編譯直接失敗生成頭文件/opt/cpr-1.3.0/include/cpr/generated/cpr_generated_includes.h編譯報(bào)找不到文件庫文件/opt/cpr-1.3.0/lib/libcpr.so或.a鏈接失敗CMake 配置/opt/cpr-1.3.0/lib/cmake/cpr/cprConfig.cmakefind_package失敗第二層本地回環(huán)驗(yàn)證。用一個(gè)本地起的小服務(wù)返回固定 JSON跑第 4 章那個(gè)最小例子確認(rèn)status_code是 200、r.text內(nèi)容正確、r.error.code是OK。這一步排除網(wǎng)絡(luò)因素驗(yàn)證的是庫鏈接正確、請求能發(fā)出去。同時(shí)故意請求一個(gè)不存在的端口確認(rèn)r.error.code不是OK且程序走的是錯(cuò)誤分支——錯(cuò)誤分支沒被驗(yàn)證過等于沒寫。第三層真實(shí)環(huán)境驗(yàn)證。挑一個(gè)內(nèi)網(wǎng)的 HTTPS 接口用 Session 復(fù)用方式連發(fā)十次觀察兩件事十次全部成功說明連接復(fù)用和 TLS 會(huì)話沒出問題r.elapsed從第二次開始明顯下降說明連接確實(shí)被復(fù)用了。如果十次耗時(shí)一樣說明每次都在重新建連回去檢查是不是不小心每次都新建了 Session。最后給個(gè)習(xí)慣。從那以后我每次裝完 cpr都會(huì)把這三層驗(yàn)證做成一個(gè)verify.sh留在構(gòu)建目錄里包含路徑檢查、本地回環(huán)請求、十次連發(fā)計(jì)時(shí)三段。原因很簡單這套依賴橫跨編譯器、curl、SSL 三層任何一層動(dòng)過表現(xiàn)都可能變化而人腦記不住上次驗(yàn)證時(shí)的細(xì)節(jié)。腳本跑一遍輸出的三行結(jié)果就是這份環(huán)境還能不能用的黑匣子記錄比回憶靠譜得多。裝環(huán)境這事沒有一勞永逸只有每次都走一遍的后悔藥。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美疯狂做爰xxxx| 欧美一级在线观看成人| 91日本在线观看| 怡红院亚洲怡春院av| 亚洲人成色9999精品久久| 思思热在线视频免费| 加勒比海成人视频网| 亚洲精品日日夜夜52| 蜜臀99久| 精品69网| 久久偷偷色综合蜜桃| 91超级碰| 日本99视频| 在线观看日韩av不卡| 媚薬在线视频麻豆| 九九拍拍精品视频在线播放| 欧美一级色| 精品成人av一区二区三区在线| 国产精品成久久久久午夜午夜| 日韩情色一区二区| 日韩一级成人毛片免费观看| 大香蕉久| 超碰碰激情97+久| www.久久最新地址| 欧美日韩亚洲一区二区在线观看| 国产成人自拍视频在线| 爱妃国产亚洲视频中文字幕| 裸模AV女优| 五月婷婷丁香中文字幕| 夜夜操青青草| 插穴性爱视频在线观看| 91亚洲人| 麻豆熟妇乱妇熟色A片在线看| 亚洲 欧美 小说| 婷婷五月天丁香花| 九月丁香| 国产欧美一区二区| 国产九九久久久精品| 97任你吞精| 国产精品原创巨作?v网站| 欧美综合亚洲综合| 女生91网站| 人妻少妇色综合| 五月婷婷六月丁香| 日韩精品高清资源在线| 97色诱| 国产粉嫩出水在线播放| 五月天偷拍| 国产伦乱91| 免费簧片在线观看| 国产女乱淫真高清免费视频| 国产 v乱码一区二| a级理论午夜日本| 女生自91网站| 亚洲好色人妻| 午夜一区| 97视频免费在线观看| 少妇三p| 欧美啪啪色吧在线| 91精品国产91综合久久蜜臀| 亚洲性爱电影| 91精品国产综合久久久蜜臀酒店| 天天躁日日躁狠狠躁| 久久久97| 福利操逼| 天堂8在线新版官网| 亚洲黄色a级片| 成人性爱美曰韩| 51久久夜色精品国产麻豆| 激情久久久| 91久久免费视频互動交流| 97天天操| 日韩高清黄片| 91操人| 99精品无码| 91 国产丝袜在线放观看| 超碰精品| 99精品热| 天天干人人乐| 91大神精品长腿在线观看网站| 绯色一区二区三区不卡少妇 | 久久香蕉国产线看观看亚洲女人 | 熟女丰满人妻一区| 小骚逼被操的爽不爽| 国产女人9999| 青青青国产手线观看视频2| 国产毛片久久久久久久| 最新国产精品久久精品| 欧洲精品久久| 青青草视频久久久久| 九九热免费国产视频婷婷伊人| 性爱欧美五月| 青青青在线高清视频在线一二三四区 | 青青操少妇| 97欧美色| 日韩精品碰碰| 久久久久久性爱片| 亚洲AV在线资源| 免费成人自拍视频在线| 免費黃色視頻觀看一| 欧美性爱一内片一区二区三区| 超碰久久精品| 人人操肉肉| 亚洲天堂另类美腿| 蜜臀一区二区三区在线 | 久久久久久久亚洲Av无码| 性爱乱伦一区| 九九九九热| 色综合加勒比四四季| 99热日| 亚洲国产欧美一区二区潘金莲| 欧美激情在线观看视频| 男插女青青影院| 91操人| 国产精品直播在线观看直播| 大香蕉伊人久久| 亚洲色图加勒比| 啊啊啊好舒服视频| 日韩欧美国产高清视频| 97干天天| 性色生活片久久毛片婬片免费放女人一级毛片| 久久久爆乳翘臀一线天伦理视频| 精彩久久中文| 天天视频综合在线观看视频| 国产又大又粗又长视频在线| 另类图片欧美激情综合| 制服少妇欧美| 久久riav中文精品| 日韩久久艹| 精品高清一区二区三区三州| 影音先锋日本乱伦| 九九自拍伦理| 黄色操人| 久草新免费| 日韩av性爱在线播放| 大学生口爆吞精| 日本三级日本三级99| 亚洲综合嫩| 爱av免费| 狠狠爱综合网| 欧中日成人免费影视| 免费视频一二三区| 欧洲免费一区二| 欧美亚洲丝袜人妻制服中文99| 日本人妻A片成人免费看片| 91n处女在线观看| 中文字幕黑人大片| 波多野结衣之双飞调教在线播放 | 色婷婷国产精品一区在线观看| 超碰在线91| 搡老女人老91妇女老熟女| 激情六月天| 好属操| 欧美成人9797| 久久午夜鲁丝片| 97天天做| 941超碰| 欧美一级色| 96久久久久| 国产不卡精品91| 欧美亚洲自拍另类人妻| 免费观看日本操逼视频| 亚洲污一污二| 在线观看黄色电话| 在线αⅴ| 亚欧美综合| 激情五月天色色| 黑人猛交| 日本精品一区二区三| 翔田千里无码一区| 91色人| 亚洲综合小说另类图欧美视频激情小说色五月天| 国产一二三在线视频五十路| 精品国产一区二区三区久久久蜜臀 | 97色欧洲| 青青草国产欧美非洲黑人| 精品v日韩欧美国产| 最新日产中文在线麻豆| 国产精品人妻免费精品| 日韩极品无码B| 国产精品久久久久中文字幕| 麻豆精品A片免费观看| 久久久久人| 加勒比无码一区二区三区| 欧州一区二区三区四区| 亚洲资源吧| 日韩在线AB| 麻豆国产av网| 免费试看60秒| 亚洲男人天堂2| 97WW精品| 国产尹人在线视频免费| 欧美性爱1080p| www熟女乱伦com| 欧美色图99| 国产传媒一区日韩| xxx亚洲午夜天堂| 欧美人妻久久精品二区三区| 国产91影院| 麻豆熟妇乱妇熟色A片在线看| 天天综合网1| 91亚洲精品青草| 两性综合网| 翔田千里AⅤHD无码| 天天爽天天操啊啊啊| 夜夜狼人妻| www欧美性爱| 69av一区二区三区| 亚洲啪啪综合?v一区综合精品区| 久久三区四区| 色哟哟AV| 国产精彩女在线观看视频| 日韩国产不卡在线视频| 精品人妻中文字幕高清| 亚洲欧美97√| 久久久久久久97| 爱爱动态试试看6 0秒| 久久綜合很很很| 国产后入精品| 天天热精品| 极品色www影院| 日韩精品人妻一| 无码久久亚洲高清,| 激情综合婷婷| 美女91在线| 夂久色| 操狠狠| 家庭乱伦性爱av| 国语国产操逼伊人AV网| 中国一级特黄大片护士| 99啪啪| 日本孕妇孕交| www被窝色com| 97亚洲资源| 怡红院亚洲怡春院av| 中文字幕第9页萱萱影音先锋| 亚洲狠| 啪啪自拍九九综合| 国产一国产一级毛片古装| 男人天堂网站| 97超碰热线| 精品人妻一区二区视频| 91美腿丝袜在线观看| 91狠婷| 久久久久久久久久久97| 欧美日本天堂| 午夜福利久久久噜久噜久久综合 | 大粗鳼巴久久久久| av影片在线观看不卡| 欧美视频一| 不卡视频一区蜜桃视频 | 竹菊一区二区三区AV线| 亚洲综合欧美| 黑人狂躁日本妞一区二区三区| 免费一级性爱久久| 性欧美体内射精| 大香蕉综合| 亚洲少妇在线影音| 亚洲国产97在线精品一区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 欧美性爱第一页久久| 日本成人A片网站| 久久精品国产亚洲AV无码电影| 国产精品熟女乱伦| 躁躁日曰躁2020| 久超碰这里只有精品| 亚洲黄色电影| www国产无码| 日本www操操操| 国产超碰| 岛国999| 黄骗免费网站| 人人干人人操人人..com| 色婷婷电影网| 五月天婷精品激情| 97资源久久| 欧美的性爱网站免费| 中文字幕奈奈美被公侵犯| 免费一级毛片在线视频观看| 天天看片麻豆| 97操| 最近2019中文字幕国语免费版| 色情综合网| 91久久久视| 亚洲综合97| 操逼操逼视频操逼| 国产 日韩 欧美 人妻 熟女 中文| 97日视频| 天堂69亚洲精品中文字| 人人操AV| 久操频道免费在线呗看| 国产日韩无码一区二区三区久久区| 精品一区二区2| 约操熟妇| 青青草啪啪网| 韩国免费播放一级毛片| 91人妻丝袜无码| 老熟乱一区二区三区四区| 欧洲欧美视频一区二区| 北条麻妃性愛视频| 亚洲一区操| 精品熟女一区=区三区| 97日韩欧美亚洲| 日韩无码精品综合久久| 精品小视频在线| 亚洲无992tv| 99视频只有精品| 日本一二三免费久久| 亚洲国产成人精品无码专区| 97操在线| 国产高清在线观看欧美| 极品一区二区三区免费| 人、人、摸,人、人、草| 欧美亚洲美少妇一区二区| 亚洲国产精品V?在线播放| 国产精品制服丝袜中文字幕日韩一区二区三区| 亚洲人成在线放东京热| 97人肏| 久这精品中文在线观看视频| 国产精品一区人妻精品阁在线| 2017天天操天天日| 六六久久日韩不卡| 免费av高清无码| 9精品久久| 天堂中文资源在线bt| 国产极品美女高潮无套在线观看| 三上制服丝AV| 老鸭窝在线视频播放| 欧洲精品区| 另类天堂| 午夜丁香婷婷| 国产不卡精品91| 九七超碰人人乐| 伊人性在线视频| 欧美72网页| 亚洲国产精品久久久男人的天堂| 北京美女一区二区| 夜夜爽夜夜摸夜夜操免费视频| 人妻 欧美亚洲| 人妻精品一区一区三区蜜桃91| 曰本道人妻久久久在线不卡色视频| 91天天美女| 偷拍盗拍亚洲色图图片| 不卡中文字幕aⅴ在线| 福利社区午夜一区二区| 一区二区三区欧美激情| 九月AV| 国产和美国毛片| 亚洲天在线| 久久精品无码熟妇一区二区三区视频导航 | 久久草草欧美精品| 粉嫩少妇自慰在线| 天美传媒AV在线播放| 91操熟女| 久久性爱网站| 日韩兔费看黄片| 少妇精品| 翔田千里Av在线| 国产激情av女片自拍| 97色干| 久久综合日韩亚洲欧美| 97人亚洲综合字幕| 欧美亚洲中文字幕| 成人a级高清视频在线观看| 免费在线观看AV无码网站| 2020视频1区2区3区| 黑丝日韩av丝袜av| 99re国产精品视频| 人妻99p| 黄色小说亚洲| 高精欧美色| 午夜视频久久久久一区| 99色婷婷| 国产超碰在线一区| 超碰人妻97| 欧美强奸乱能| 青草香蕉网| 精品一二三区四视频| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 欧美性爱97超碰| 国产视频小说| 日本中文字幕不卡视频| 日本99久久| 99re热| 日本αv| 青青操青娱乐| 亚洲 中文 欧美 日韩 在线| 黑丝自慰喷水网站| 日本最新免费韩国1区2区视频播放| 岛国不卡超碰护士AV在线播放| 曰韩人妻中文字幕在线| 发朗少妇买婬全视频中文| 亚洲欧美综合网站| www.黄色在线| 综合天天网| 国产精品com| 亚洲欧美精品一区天堂久久 | 大胆91| 亚洲精品97久久中文字幕| 国产三级在线现体验区| 无码一区二区三区四区五区六区七区八区九区十区视频 | 猛猛干| 97色色婷婷| 亚洲精品影视老司机| 青青11操操操操操操操操| 婷婷8月天青娱乐| 国产第25页在线观看| 1204金沙人妻懂旧版免费| 亚洲一区中文精品| 欧美九九99久久精品| 日本色日夜干| 97视频观看| 清纯唯美亚洲综合| 欧美色图片91| 国产欧美另类久久久精品课程| 国产精品国产拍高清AV| 亚洲影视第一页| 青娱乐久久艹| 九九九九AV| 丁香五月社区| 综合伊人网12色| 东京热一区二区三区四区五区六区| 亚洲成人免费电影| 人妻熟女一区二区三区视频| 日韩啪啪啪啪啪| 国产2.3.4区| 欧美性爱五月天| 老熟妇91| 性性久久| 97人人干人人操| 香蕉99秘 一区精品蜜桃臀| 亚洲黑丝在线| 日本精品五区| 曰本精品久久久| 亚洲一区二区三区播放在线| 欧美人妻熟女在线| 日本天天人人狠狠在线日美女| 99久久久无码国产精品性啊聊| 日本三级黄页| 无码外流操逼视频| 欧美九一精品久久久熟妇| 五月丁香婷婷啪啪| 麻豆国产精品午夜视频| 青草视频人妻在线观看| 午夜精品久久久久久久99蜜桃一| 欧美+日产+中文| WWW.加勒比人妻一区不卡.com| 亚洲最新a在线观看| 少妇天堂| ai欧美亚洲小说| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日韩无码一级黄色av片| 美女网站黄页| 人妻久热在线| www黄片免费看com| 国产在线播放成人免费| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 色九月婷婷| 无码人妻一区二区三区色欲aⅴ| 九久久精品| 大奶啊啊好爽 | 少妇内射视频| 91欧美偷拍| 中文字幕性感少妇av| 黄片免费日韩| 蜜臀99久| 中文字幕伊人| 日本免费不卡二区| 婬女免费一二三区A片| 国产无吗在线播放| 伊香蕉综合久久久久久久噜噜噜| 黄色十八禁| 第四色色综合91| 99超级碰免费视频| 福利在线黄片| 性爱免费视频成人| 91久久九九精品国产综合| 精品国产乱码久久久兰草影视| 丁香五月激情网| 免费综合亚洲中文| 久久直播国产| 天天操天天射天天日| 少妇综合| 九九综合九九综合| 午夜九九九九九九| 中文字幕熟女人妻丝袜丝| 精品一国2| 欧洲射精91| 日韩在线视频1234| 91美女丝袜诱惑视频| 国产乱伦一二三区| 欧美性爱伊人| 黄色小视频日本txt| 亚洲欧美另类激情小说| 亚洲风情在线观看| 酒色综合网| 91综合天天看| 色九九综合AV| 日韩99神马视频播放| 在线观看十八禁| 婷婷久草一区二区三区| 中文字幕高清20页视频 | 狠久久| 久久综合超碰| 国产欧洲精品亚洲午夜拍精品| 日韩国语字幕| 亚洲综合性感在线| 伊人青青草久久| 亚洲限制级| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 久久久∴| 亚洲清纯唯美| 久久久精精精| 精品人妻一区二区三区在| 高清孕妇孕交 交| 久久啊啊| 91久久免费视频互動交流| 欧美乱色| 欧美 传媒 麻豆 日韩 偷拍| 九一综合精品视品av| 亚洲人在线| 丰满人妻一区| 久久久久久中文| 久久久精精精| 以及麻豆国产入口在线观看免费| 久久五月天婷婷丁香中文字幕| 午夜福利1区2区3区| 国产成年女人免费视频播放a| 日韩美女操b| 色官网在线| 97亚洲综合电影| 97操在线| 国产精品久久久久久久久久久久久久吹| 98久久超碰| 日韩一区二区精彩视频| 首页中文字幕中文字幕免费| 少妇二级| 综合九九| 翔田千里爆乳巨臀无码| 婷婷中文网| 亚洲一区中文字幕一区| 97资源欧美| 亚洲脚交| 亚洲有码视频二区| 哈哈操电影AV| 97超视频在线观看| 日本大香蕉综合网红本杳社区| 国产综合日韩伦理| 久久精品性| 嗯嗯啊啊操死我| 激情文学亚洲| 欧美 亚洲 第一页| 黄色一区二区秘书性感| 大香蕉伊人色偷偷在线| 午夜精品人妻二区三区| 好色综合| 五月婷婷AV| 国产极品久久久| 嗯嗯不要 视频| 97在线免费视频观看| 精品性爱久久视频| 亚洲av乱伦色图网站| 91美女视频| 欧美天天在线| 亚洲欧美骚| 精品久久久久久AV无码| 超碰AV在线| 婷婷五月天无码| 国产熟妇 码视频户外直播| 人人操人人狠狠操| 日本熟妇精品九九| 亚洲无码成人精品| 无码91| 97操B| 国产大学生口爆吞精合集| 日本丝袜美腿人妻九九| 欧美色图色综合| www.色操逼| 91 综合 色| 午夜.DJ高清在线观看免费7 | 观看视频图片一区二区三区| 久久二| 中文字幕 码 自拍 视频 区| 9久久美女首页| 婷婷色综合| 婷婷探花久久精品一区| 亚州操逼图| 欧美久久婷婷| 亚洲人体视频在线观看| 女一区二区| 欧美性天天| 亚洲天堂男人在线| 在线观看中文字幕| 91女人的网站| 国产精品黑人一区二区三区| 欧美日韩国第一区| 天堂69亚洲精品中文字| 中文字幕在在线观看网站| 91 欧美| 久操B网| 超碰97人妻免费在线| 中文字幕天天天天天| 女沟厕偷窥piss小便| av情色影音| 两女互慰AV高潮喷水在线观看| 青苹果影院男人的天堂| 国产精品原创巨作?v网站| 欧美日不卡| 亚洲高清欧美总合| 激情五月天色播| 久草精品一区 | 欧色网址| 欧美.亚洲.另类.丝袜.制服.诱惑| 91网站18| 东京日日夜夜| 一级人妻性爱视频| 超碰在线第一页| 黑人精品成人一区二区三区| 精品无码久久| 日韩99999色| 91肉片| 久久久久久久久久黄色网| 激情小说成人日本无码一| 欧天美中出| 无码国产精品久久久久| 亚州性色| 欧美性爱一区| 久久老子无码午夜伦不卡| 欧美黑人熟妇精品91| 图色综合网| 无码免费精品高清| 九九九九免费| 校园春色亚洲无码| 99这里只有精品| 国产丝袜美女在线一区| 大香蕉日亚洲日本亚大| 亚洲情色五月天 | 久久性生大片免费观看性| 亚洲精品天天影视综合网 | 超碰在线看| 精品无码欧美三级| 日韩特一级久久| 久操高青| 翔田千里Av在线| 亚洲资源一区| 日韩操呦呦影院在线观看| 红杏大香蕉| 97操碰| 欧美日韩国产中文超碰| 精品一区二区人妖| 亚洲 小说 欧美 激情 另类| 东北女人性交| 亚洲AV不卡在线观看尤物| 激情综合五月天| 日韩国产成人自拍视频| 日韩啊V| 97久久超碰日韩精品| 九九九久久久久| 麻豆天美国美国产AV| 强奸乱伦av电影| 91丝袜人妻| 天天操天天7| 78p欧美| 婷婷香蕉欧美在线一区二区三区| 成人小电影网站tex| 尤物av网站| 九九热精品在线| 好爽视频在线观看视频 | 色婷婷狠狠| 日韩无码黄色片| 麻豆国产精品午夜视频| 久久 精品| 日日摸日日弄日日拍| 久偷拍欧美日韩三区| 丝袜喷水在线| 亚洲s在线观看| 精品久久視頻在线| 任你草| 美女自卫慰黄网站免费| 国产熟女乱论| 岛国毛片手机在线观看| 色欲av一区二区三区蜜芽| 中文字幕97| 一起草视频在线| 97资源站日韩| 久久视频,这里只有精品| 一区二区蜜臀| 好看的久久不射无码影视影院| 欧美日韩淫加| 色盈盈影院| 色女99一级片在线观看| 久久久久久久久久久久久9999| 美女诱惑爱爱| 韩国三级理论在线| 色噜噜精品一区二区三| 精品人妻一区二区视频| 一级aaaaa欧美中文字幕录像片| 妇女性内射冈站HDWWWCOM| 乱伦一二三区| 中文字幕人成乱码熟女香港| 99婷婷一区二区| 香港澳门日本三级网站| 自拍偷拍 日韩欧美| 成全动漫视频观看免费下载| 91丨人妻丨国产丨丝袜| 色综合一区二区三区| 思思热在线视频免费| 久久精品久| AV麻豆免费一区| 欧美亚洲素人制服精品| 日韩人妻播放| 婷婷丁香六月| www.丁香五月| 久操B网| 午夜精品久久久久久久99热影院| 中文字幕久久精视频久久大全| 9精品在线| 亚洲欧美视| 玖玖爱伊人玖玖爱| 久久精品国产97欧美精品亚洲| 亚洲精品国产拍免费91在线| 欧美AB在线| 成人无遮挡毛片免费看| 奇米四色网| 久久精品日韩| 超碰成人国产| 久久国色天香香蕉| 加勒比海成人视频网| 精品久操| 麻豆成人AV| 97超碰久久| 岛国视频一二三区| 玖玖在线视频| 国产精品久久久蜜臀| 啊啊啊啊啊啊啊在线| 国产精品在线免费| 在线岛国新天堂8| a级理论午夜日本| 炮色五月| 欧美色图自拍| 无码粉嫩白虎一线天b区| 婷婷10月天青娱乐| 日韩精品资源专区二区| 日本精品不卡一二三区| 久久国色天香香蕉| 蜜臀va69| 熟妇的味道HD中文字幕| 亚洲欧美精品91| 中文字幕在线观看视频www| 亚洲丝袜色图| 久久这里只精品| 一个色导综合| 欧美亚洲日本激情在线| 少妇被玩视频二三区| 超碰色大香蕉| 亚洲巨爆乳一区二区三区四季网| 手机午夜电影神马久久| 都市久久精品激情亚洲| 亚洲综合在线视频| 中文字幕超碰CAO| 丝袜足交视频| 九九无码视频| 西西美女视频网| 国产精品96| 日本黄 R色 成 人网站| 2025亚洲男人天堂| 国产久久久久久| 人人插人人搞人人操| 丰满搜索结果 -第18页- 久久高清无码| 中文字幕视频在线观看| 尤物国产一区在线观看| 久久久久9999妇女| 91丨九色丨国产丨人妻在线| 欧美日韩国产中文超碰| 亚州色图欧美色图| 日韩国产在线观看av| 大香蕉男人的天堂| 91精品无码久久久久久久| 五月丁香在线| 欧美日韩亚洲电影| 逼操网站| 91草草草| 日本色色视频网站| 99热这里只有是精品10| AV天堂丝袜| 加勒比色99999| 超碰狠狠操| 欧美96交| 国产麻豆一级精品视频| 老司机福利社视频在线观看| 亚洲欧美日韩精品久久久一区二区 | 天天综合网在线| 国产精品免费视频人成| 日韩少妇在线视频| 久综合国内精品自在自线| 97久久精品国产| 明星性猛交ⅹxxx乱大交| 色爽爽文学| 天天看夜夜看日日干| 麻豆久久久久久久久丝袜 | 嗯嗯不要 视频| 加勒比在线视频一区二区三区| 国产女主播视频在线观看| 免费在线观看国内色片网站网址| 超碰午夜| 91综合在线| 日韩色香| 国产农村妇女精品一二区| 国产精品久久久久亚洲av| 日韩综合97P| 国产精品久久久久无码AV会牛| 日曰骚久久精品| 色性欧美| 五月丁香六月综合缴清无码| 大香蕉 222| 日韩无码三级影院| 色偷偷男人的天堂麻豆| 九九综合久久中文字幕| 婷婷激情五月综合| 激情丁香五月| 性天堂| 嗯嗯啊啊好大好爽| 国产成人无码网站在线视频| 这里只有精品97| av操操不卡| 日韩国产不卡在线视频| 成年人免费观看网站| 天天日B狠狠操| 超碰97首页| 青青草依人大香蕉| J?P?NESEHD熟女熟妇伦| 97干在线视频| 久久精品日韩专区免费观看| 免费黄色片子| 日躁天天爽爽| 丰满欧美少妇| 日本女厕偷拍| 久久久成人精品| 日天天九九天堂666| 天天综合97| 国产成人网站在线观看| 激情综合五| 欧美日本不卡| 欧美论理片| 色99视频| 嫩草美女久久| 日韩啪啪啪视频| 亚洲性爱高潮影院| 午夜亚洲国产理论秋霞| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 看一级黄色视频| 天天干天天燥| 九九九国产| 1204金沙人妻懂旧版免费| 中文字暮97| 国产精品熟女丝袜一区二区| 中国人高清www色视频免费| 夜夜骑天天燥| 神马久久久久眼| 91成人在线免费视频| 思思热在线视频免费| 亚洲色图8| 1二区9| 久久天堂婷婷网| 亚洲系列第一页| 日韩在线国产字幕| 亚洲骚男同com| 大香蕉欧美伊| 蜜臀久久99精品久久久老,,| 91free福利| 日韩欧美大力操| 粉嫩av在线| 久久色精品视频在线| 蜜桃臀一区二区三区久久| 91天堂视频| 青青草黑寡妇男人天堂| 丁香五月激情综合| 国产精品午夜高潮呻吟久久av| 亚洲AV噜噜狠狠网址蜜桃动漫| 久久成年片色大黄全免费网站| 久久99久久99精品天美传媒棢·纸:. | aaa亚无码专区| 99人妻| 欧美色性情| 欧美图片校园春色| 蜜臀AV一区二区三区| 伊人96在线| 精品国产国产AV| 亚州高清色综合| 亚洲精品骚逼| 亚洲综合影片| 日韩欧美丝袜诱惑| 欧美色图私拍91| 成年男人的天堂| 久久精品72| 国产偷仑| 丰满搜索结果 -第18页- 久久高清无码| 中文字幕天天天天天| 熟女啪啪视频| 国产精品久久久亚洲一区| 日本天天吊| 久久久啊啊| 久久99综合| 亚洲国产欧美日韩人妻日中文| 99热免费| 五月丁香综合啪啪| 久久久九97| 婷婷五月天补不补| 九月婷婷久久| 九九热在线精品视频| 国产毛片精品一区二区色欲黄A片| 人妻少妇一区二区| 东北黄色电影| 日欧美色| 日韩不卡一二三四| 公司1区2区3区精产精| 9997se| 欧美 亚洲 在线| 91天天| 欧美的性爱网站免费| 无码精品一区二区三区潘金莲| 温婉少妇玩3p| 97在线视频观看网站| 亚洲色图日韩精品| 日本在线激情一区二区三区| 爱爱60秒免费视频| 一区二区三区网站日日骚| 九九英色视频| 校园春色美腿丝袜 | 久久国模av| 少妇色综合| 蜜桃传媒视频第一区入口在线看| 极品美女嘿咻| 五月亭亭六月丁香| 国产精品日韩在线一区| 天天视频黄| 日韩性爱高清免费视频| 丁香五月激情网| 亚洲欧洲第二视频在线观看色图| 狠狠干妹子| 亚州性色| 欧美人妻精品一区二区| 五月色网| 日韩人妻网站| 国产精选视频| 婷婷尹人大香蕉免费| 国产无码一二三区| 日本在线一二| 亚洲drav色图| 蜜臀久久99精品久久久久久婷婷| 久久久久夜夜夜夜| 中国zzijzzijzzwww精品| 韩国一级做A片免费的| 国产精品网站免费| 久久宗合97| 97超碰人人操人人操| 亚洲最大网站av| 高清不卡视频| 操我啊啊啊啊啊| 精品无码久久| 国产一区二区三区视频在线看| 久久久一级| 欧美亚洲宗合色性图| 揉揉日日日日| 欧美极度丰满熟妇hd| 久久久久久亚洲精品中文字幕人妻| 亚洲 图片 综合91| 97超碰伊人| A级毛片在线看免费| 亚洲欧美大| 国产精品午夜精品| 日本黄色精品专区网站| 婷婷五月天在线观看| 亚洲drav色图| 91精品无码久久久久久久| 激情五月婷| 97超碰人操| 精品国产一区二区三区香蕉欧美| 色五月婷婷麻豆在| 日韩中文字幕精品一二三事国产精品| 国产成年女人免费视频播放a| 中文字幕在线播放2中文字幕在线观看2| 日本αv| 搡老人老9丨女老熟人| 亚洲一二三四区机械| 人人妻人人爽| 国产51色综合久久免费| 欧美性爱一内片一区二区三区| 熟女少妇一区二区三区| 90后性网国产欧美| 97网址97| 蜜桃久久一区| 久久亚洲AV无码专区国产精品| 天堂资源欧美| 精品78| 97资源超碰| 天天拍夜夜| 射 色综合| 99久草| 五月婷婷色| 久久精品—区二区三区内射| 久久九九综合| 老妇女91| 视频二区美腿丝袜制服人妻欧美| 老司机午夜福利视频一区二区| 成人性爱视频在线看| 99热aaa| 草草网站影院白丝内射| laoshunv91| 中文字幕第9页萱萱影音先锋| 欧美亚综合色图| 免费AV中文网在线观看| 殴美日韩m| 妇女性内射冈站HDWWWCOM| av操操不卡| 五码视频在线观看| 97这里都是精品| 亚洲欧美自拍偷拍| 久操网在线| 精品人人插人人操| 九九九九九九精品| 操操啪| 国产美女在线精品免费看| 夜夜嗨AV蜜臀av| 日韩中文字幕精品一区在线| 男人久久精品| 国产女人高潮嗷嗷嗷叫小说| 98福利在线视频| 久久精品国产亚洲AV无码电影| 嫩草 我啊~嗯~在线| 在线无码视频| 学生妹天天看| 可能人人看人人摸| 91欧美丝袜| 成人婷婷丁香| 婷婷伊人五月| 日韩中文9| 噜噜吧,噜噜色,噜噜| 综合色久欲| 亚洲天堂另类美腿| 欧美成熟性爱精品| 91女优在线观看| 国内三级自拍小视频在线观看| 久操电影| 亚洲色香| 色欲av一区二区三区蜜芽| 国产97在线播放| 一二三四日本视频高清| 日韩精品人妻一| 9久9久| 伊人一区二区三区| 国产精品久久久久久久久AV大片 | 爱媛媛久久国产福利| 超碰诱惑| 天天干少妇| 亚洲91在线播放影院| 亚洲蜜臀精品视频久久| 亚洲限制级在线| 每日更新AV| 老子午夜伦不卡影院| 欧洲大香蕉| 青青色综合| 黄色毛片A片| 国产精品成人午夜福利| 亚洲欧美精品久| 在线另类| 亚洲一级特黄大片在线播放91| 久久9精品| 97天天在线| 青青11操操操操操操操操| 精品一二三区久久AAA片| av网站免费看| 大香蕉青青9| 国产av白丝| 网页导航五月天免费一二三区| yw尤物av无码点击进入麻豆| 丝袜色综合| 日本97久久久精品| 91久久久久久| 国产小视频91| 国产午夜精品理论片一二三区区| 天天干人人乐| 青青草玖玖爱| 久久的网站啊啊啊啊啊| 中文字幕一区日韩精| 无遮挡一级毛片视频免费的| TS人妖另类精品视频系列| 操老熟女AV| 啊啊啊好舒服视频在线观看| 99亚亚热| 亚洲第一综合| 欧美三级中文字幕hd| 蜜乳Av成人片网站| 91无码西班牙视频在线| 精…码一二三区| 怡红院网站在线视频| 欧美日韩亚洲电影| 色婷婷综合久久中文字幕雪峰| 日本一区二区做爱的视频| 无码 黑人一区二区三区| 91春色| 亚洲天堂久久久久久粉红视频| 久久超碰97| 天天内射| 国产自产91区13区| 99性视频| 亚洲中文日韩精品| yaouchengrenav| 日韩成人性日韩成人性爱视频在线免费观看 | 啊啊啊免费视频| 美女黄色91| 精品人妻一区二区三区免费视频| 欧美亚州色的图| 十八禁电影伊人网| 日韩一级二级三级免费看完整版国语版 | 欧美1区二区三区公司| 亚洲av性爱电影| 四虎影视国产精品| 天天操天天日青青草超碰av| 欧美日韩操逼嗦吊| 人人摸人人叼| 国产精品999zyz| 一级啊性爱在线视频| 亚洲av综合色区无码一| 日韩亚洲Av人人夜夜澡人人爽| 亚洲中文字幕久久人妻| 美女午夜福利免费视频| 啪啪资源网| 日本肏逼视频在线观看| 蜜桃av综合网发布| 五月激情综合网| www五月| 亚洲国产精品久久久久婷婷青年| 婷婷色一区| 欧美另类自拍| 国产亚洲色婷婷99精品91| 超碰日韩美妻| 精品制服美女中文一区二区三区| 青青草大香蕉视频| 97欧美日韩综合| 日韩欧美视频青青| 五月激情影院| 91久久午夜无码鲁丝片久久人妻| 欧美日本久久精品一区 | 影视综合无码少妇| 奇米四色影视777久久久| 日韩欧美经典在线观看| 99免费在线视频| 亚洲成人精品久久久| 青青欧洲黑| 天天久久| 强奸乱伦 亚洲一区| 一区二区三区 日韩欧美| 亚洲成av人片色午夜乱码| 大香蕉手机在线视频| 啊啊啊97视频| 青青草在线视频播放器| 探花视频免费观看国产专区|