免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

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

cpr 1.3.0 編譯安裝與工程接入避坑指南 簡介cpr-1.3.0 預(yù)編譯庫面向使用 C 發(fā)起 HTTP 請求的開發(fā)者適合在 VS 項目中快速接入、又不想自行編譯 cpr 與 libcurl 的初、中級人員。壓縮包共 27 個文件含 21 個頭文件、4 個 lib 靜態(tài)庫和 2 個 dll 動態(tài)庫Debug/Release 均提供 cpr.lib、libcurl.dll 等整體約 738KB便于隨工程歸檔引用。資源由 weststarqp 于 2019 年 2 月基于 VS2015 編譯已有 691 人學(xué)習(xí)。解壓后可按配置將頭文件、庫文件與動態(tài)庫加入工程減少搭建依賴環(huán)境的時間并借助頭文件了解 session、response、auth、cookies 等接口為請求封裝和調(diào)試提供基礎(chǔ)。1. 從一次庫在頭文件不在的編譯失敗說起上周接手一個內(nèi)部工具的構(gòu)建CMakeLists 里一行find_package(cpr REQUIRED)我以為是十分鐘的事結(jié)果make直接甩出一堆fatal error: cpr/generated/cpr_generated_includes.h: No such file or directory。庫文件明明裝了頭文件目錄也加進-I了偏偏缺一個名字很長的中間頭文件。這就是 cpr 1.3.0 最經(jīng)典的一關(guān)。cpr 全稱 C Requests是把 libcurl 那套 C 接口包成cpr::Get/cpr::Response風(fēng)格的 C11 庫寫 HTTP 客戶端時不用再和curl_easy_setopt的變參列表較勁。它常見于數(shù)據(jù)采集、內(nèi)部服務(wù)探活、CI 里的小工具這類場景。裝不順的后果很直接編譯期缺頭鏈接期缺符號運行期 SSL 握手失敗一路踩下來比手寫 libcurl 還費時間。這篇記錄適合正在找 cpr-1.3.0 怎么安裝、怎么配置、環(huán)境怎么搭的人。2. 環(huán)境盤點cpr 1.3.0 編起來到底要哪幾樣?xùn)|西動手之前先把依賴列清楚比編到一半再回頭補要省事得多。cpr 1.3.0 本身不復(fù)雜它就是一層薄封裝真正的重活在 libcurl 和 OpenSSL 上。麻煩的地方在于它的 CMake 腳本默認(rèn)行為偏自給自足會嘗試自己去弄 curl 源碼這在有外網(wǎng)的開發(fā)機上無感在隔離環(huán)境里就是災(zāi)難。所以這一章的重點不是羅列依賴而是把每個依賴的來源定下來編譯器從系統(tǒng)來curl 從系統(tǒng)來SSL 從系統(tǒng)來三樣都鎖死構(gòu)建過程才是可復(fù)現(xiàn)的。2.1 編譯器與 C 標(biāo)準(zhǔn)C11 是底線不是可選項cpr 1.3.0 的公開頭文件里用了std::function、std::unordered_map、右值引用和大量 lambda編譯選項里必須打開 C11。GCC 建議 7 以上Clang 建議 6 以上MSVC 走 2017 以后的版本比較穩(wěn)。我一般不去賭默認(rèn)標(biāo)準(zhǔn)而是在工程頂層直接寫死避免某個下游工程把-std覆蓋掉之后報出一堆看不懂的模板推導(dǎo)錯誤。# 頂層 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 擴展導(dǎo)致?lián)Q編譯器就編不過。很多在我機器上能編的事故源頭就是CMAKE_CXX_EXTENSIONS默認(rèn)開著代碼里不小心用了typeof之類的東西換到 Clang 上直接崩。如果你的工程已經(jīng)是 C14 或 C17不用降級cpr 1.3.0 在更高標(biāo)準(zhǔn)下也能編只是別把-stdc98這種老配置帶進來。2.2 libcurl 用系統(tǒng)的還是自帶的一個決定影響后面所有鏈接錯誤cpr 的 CMake 里有一個開關(guān)叫CPR_FORCE_USE_SYSTEM_CURL默認(rèn)是關(guān)閉的。關(guān)閉狀態(tài)下構(gòu)建腳本會嘗試把 curl 源碼弄到本地再一起編。這個設(shè)計對想零依賴的人友好但在實際部署里問題不少構(gòu)建過程會依賴外部源碼獲取網(wǎng)絡(luò)受限時直接卡住就算拿到了源碼編出來的 curl 和系統(tǒng)里其他程序用的 curl 也是兩份后面做動態(tài)鏈接時符號容易打架。我的做法是一律強制用系統(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這個名字不是隨便挑的它決定了 curl 背后用的是 OpenSSL 而不是別的 TLS 實現(xiàn)。cpr 的 SSL 相關(guān)代碼路徑和 curl 的 TLS 后端是綁定的混用會出現(xiàn)編譯通過但運行期證書校驗行為異常這種很難查的問題。curl-config --libs的輸出要重點看如果里面沒有-lssl -lcrypto說明裝的是不帶 SSL 的版本后面CPR_ENABLE_SSLON會直接失敗。裝完開發(fā)包后再跑一次curl-config --version把版本號記下來后面排查時有用。2.3 OpenSSL 與 zlibSSL 開關(guān)背后的兩個真實依賴cpr 1.3.0 的CPR_ENABLE_SSL默認(rèn)打開打開之后就會去找 OpenSSL 的頭文件和庫。1.1.1 系列是目前兼容性最好的選擇如果系統(tǒng)里是 3.x多數(shù)情況下也能編但要留意 cpr 這層封裝里對舊宏的引用個別發(fā)行版會報OPENSSL_VERSION_NUMBER相關(guān)的棄用警告警告本身不影響產(chǎn)物但會淹沒真正的錯誤信息。zlib 的情況稍微特殊一點cpr 本身不直接用 zlib但 curl 在開啟內(nèi)容壓縮支持時會依賴它。如果你的請求需要帶Accept-Encoding: gzip那 curl 編的時候就必須帶 zlib否則服務(wù)端返回壓縮體時你拿到的是亂碼。檢查辦法很直接# 看 curl 的編譯特性里有沒有 zlib 和 SSL curl -V # 輸出里的 Features 一行應(yīng)包含 libz、SSL、HTTPS-proxy 等關(guān)鍵字這一步屬于裝之前花十秒裝之后省兩小時的檢查。很多環(huán)境里 curl 是精簡版編譯的特性列表里沒有 libz等到業(yè)務(wù)代碼里手動解壓失敗才發(fā)現(xiàn)回頭重裝 curl 還得連帶重編 cpr代價不小。2.4 一套我常用的版本組合下面這張表是我這幾年在不同機器上落地過的組合不是官方要求只是這個范圍內(nèi)我沒翻過車的經(jīng)驗區(qū)間。跨大版本時差異會放大比如把 curl 從 7.x 換到 8.x鏈接參數(shù)和部分宏定義都有變化需要重新驗證一遍。組件推薦區(qū)間說明CMake3.10 及以上低版本對target_include_directories的 install 導(dǎo)出支持不全GCC7 及以上低于 7 時 C11 的std::string_view替代實現(xiàn)容易出問題Clang6 及以上與 libstdc 搭配時注意版本匹配libcurl7.58 及以上7.58 前后 SSL 相關(guān)宏有調(diào)整1.3.0 在舊版上偶發(fā)編譯錯誤OpenSSL1.1.1 系列兼容性最好3.x 可用但會有棄用警告zlib1.2.8 及以上只影響壓縮傳輸不影響基礎(chǔ)請求這張表的意義在于縮小排查范圍。當(dāng)你遇到一個詭異的編譯錯誤時先對照表格確認(rèn)自己不在邊緣組合上再去翻代碼效率會高很多。3. 編譯安裝把 cpr 1.3.0 裝進一個干凈前綴到這一步依賴都齊了可以開始編。我強烈建議裝到獨立前綴而不是/usr/local原因很現(xiàn)實cpr 1.3.0 是幾年前的版本你手上可能還有別的工程依賴更高版本的 cpr全都塞進/usr/local之后find_package找到哪個全看運氣。獨立前綴加上CMAKE_PREFIX_PATH能把這套依賴隔離得干干凈凈卸載的時候一個rm -rf就完事不留殘渣。3.1 源碼落地與 out-of-source 構(gòu)建目錄先建兩個目錄一個放源碼一個放構(gòu)建產(chǎn)物嚴(yán)格分開。in-source 構(gòu)建在 cpr 這種帶代碼生成的工程里尤其危險中間文件會污染源碼樹下次換配置時 CMakeCache 里全是臟數(shù)據(jù)。# 目錄規(guī)劃源碼和產(chǎn)物分開安裝前綴獨立 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 .會報找不到 CMakeLists.txt新手容易在這里懷疑人生。確認(rèn)CMakeLists.txt和include/在同一層就是正確的源碼根目錄。安裝前綴/opt/cpr-1.3.0里的版本號也別省將來并存多個版本時這個命名能救你一次。3.2 CMake 關(guān)鍵選項逐個拆配置階段是整個安裝過程里最值得花時間的地方。下面這條命令是我在大多數(shù)環(huán)境里用的版本參數(shù)看著多但每一項都對應(yīng)一個具體的失敗場景。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逐項說明-S和-B是現(xiàn)代 CMake 的寫法分別指源碼目錄和構(gòu)建目錄等價于進目錄再跑cmake ..但更不容易出錯。CMAKE_BUILD_TYPERelease打開優(yōu)化并去掉調(diào)試符號。cpr 1.3.0 在 Debug 下編出來的庫體積會大不少作為依賴庫沒必要。CMAKE_INSTALL_PREFIX決定make install往哪寫這里就是前面建好的獨立前綴。CPR_BUILD_TESTSOFF很關(guān)鍵。打開后它會去找測試框架在你沒有預(yù)裝的環(huán)境里會直接失敗而且測試代碼本身對產(chǎn)物沒有任何貢獻。CPR_BUILD_SERVEROFF關(guān)掉配套的測試服務(wù)端同理。CPR_ENABLE_SSLON顯式打開別依賴默認(rèn)值尤其在別人寫好的構(gòu)建腳本里。CPR_FORCE_USE_SYSTEM_CURLON是前面 2.2 節(jié)說過的那個決定必須顯式指定。BUILD_SHARED_LIBSON出動態(tài)庫。如果你的部署環(huán)境不方便帶.so改成OFF出靜態(tài)庫這個取舍在第 4 章細(xì)說。CMAKE_POSITION_INDEPENDENT_CODEON保證生成的庫能被鏈接進動態(tài)庫即使當(dāng)前選的是靜態(tài)庫也建議開著。配置跑完后重點看輸出的末尾幾行會打印出檢測到的 curl 版本、SSL 后端、是否啟用 zlib。這三行信息比任何文檔都真實因為它是從當(dāng)前這臺機器上探測出來的。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é)那個開關(guān)沒生效回去檢查參數(shù)拼寫。安裝完之后必須做一次落地檢查這是整個流程里最容易被跳過、也最容易出問題的一步# 檢查關(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 包配置。重點看頭文件列表里有沒有一個路徑里帶generated字樣的文件——cpr 1.3.0 在構(gòu)建時會生成一份與 curl 頭文件版本相關(guān)的中間頭文件而老版本的安裝規(guī)則在某些平臺上不會把它一起裝進去于是出現(xiàn)第 1 章開頭那個報錯。如果確實缺了從構(gòu)建目錄里找出來手動補進去# 在構(gòu)建目錄里定位生成的中間頭文件 find ~/work/build-cpr -name cpr_generated_includes.h # 找到后按原相對路徑補到安裝前綴 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/補完之后再find一次確認(rèn)。這一步屬于典型的官方安裝規(guī)則沒覆蓋到的坑不補的話下游工程#include cpr/cpr.h必然失敗而且報錯指向的是一個你沒寫過的文件名第一眼很難聯(lián)想到是安裝不完整。CMake 里還有個CPR_GENERATED_SOURCES_DIRECTORY變量可以用來指定生成物的輸出位置不同小版本行為不完全一致我最后都會用上面這條手動校驗兜底不賭它的默認(rèn)行為。另外如果目標(biāo)是直接拿現(xiàn)成的庫文件用那么落地檢查同樣適用頭文件樹里必須有cpr/cpr.h、cpr/generated/下那個生成文件、lib/下的庫以及l(fā)ib/cmake/cpr/下的配置文件四樣少一樣都不算完整。少 CMake 配置文件的后果是find_package直接失敗很多人在這一步誤以為是版本不匹配其實只是安裝不完整。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會去CMAKE_PREFIX_PATH里找cprConfig.cmake所以如果裝在/opt下配置時要帶上路徑cmake -S . -B build -DCMAKE_PREFIX_PATH/opt/cpr-1.3.0如果find_package報找不到先別懷疑版本按順序查三件事配置文件是否在lib/cmake/cpr/下、CMAKE_PREFIX_PATH是否傳進去了、前置的 curl 是否也能被找到。第三條經(jīng)常被忽略——cpr 的配置文件里會find_dependency(CURL)如果你把 cpr 裝到了前綴里但 curl 是系統(tǒng)包通常沒問題反過來把 curl 也裝在獨立前綴里卻忘了把那個前綴加進搜索路徑就會在find_package(cpr)這一行報出莫名其妙的依賴錯誤。target_link_libraries里的cpr::cpr是導(dǎo)出目標(biāo)名。個別打包方式下目標(biā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ù)一次性展開最后三個是 SSL 和壓縮的顯式依賴。順序很重要庫要放在源文件后面否則 GCC 會因為符號未解析而報錯。4. 工程接入把 cpr 1.3.0 寫進業(yè)務(wù)代碼庫裝好了只是開始真正決定這套環(huán)境好不好用的是接入方式。cpr 1.3.0 的 API 設(shè)計很接近腳本語言的 HTTP 客戶端幾行就能發(fā)請求但也正因為太順手容易寫出沒有超時、沒有錯誤分支、連接不復(fù)用的代碼上線之后在弱網(wǎng)環(huán)境里表現(xiàn)一塌糊涂。這一章從最小可運行例子往外擴把參數(shù)取舍講清楚。4.1 最小可編譯的 CMakeLists 與一次 GET先跑通再說別的。下面這段是能編能跑的最小骨架#include cpr/cpr.h #include iostream int main() { // 用本地地址驗證避免引入外部依賴 cpr::Response r cpr::Get( cpr::Url{http://127.0.0.1:8080/health}, cpr::Timeout{3000} // 整體超時單位毫秒 ); // 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)鍵在最后那個判斷。cpr 把兩類失敗分得很清楚r.error記錄的是連接超時、DNS 失敗、SSL 握手失敗這類傳輸層問題r.status_code記錄的是服務(wù)端返回的 HTTP 狀態(tài)碼。只判斷status_code是新手最常見的疏漏——連接都失敗了status_code是 0業(yè)務(wù)邏輯會把它當(dāng)成服務(wù)端返回 0處理后面全亂。判斷順序永遠(yuǎn)是先看error.code再看status_code。配套的 CMakeLists 就是 3.4 節(jié)那幾行加上源文件即可。注意別在target_link_libraries里再手動補-lcurlcpr::cpr已經(jīng)把傳遞依賴帶上了重復(fù)鏈接在某些平臺上會導(dǎo)致符號重復(fù)定義。4.2 超時、重試與 SSL 校驗的參數(shù)取舍生產(chǎn)代碼和 Demo 的差距基本都在這三個參數(shù)上。cpr 1.3.0 的超時是整體超時不是連接超時和讀取超時的分別設(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}); // 建連單獨限時 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; }這段的取舍點有三個。第一Timeout和ConnectTimeout分開設(shè)建連超時給得短一些能快速判斷目標(biāo)是否可達(dá)整體超時留出讀取響應(yīng)的時間。第二重試只針對傳輸層錯誤HTTP 500 這種服務(wù)端明確返回的結(jié)果不重試重試反而可能放大故障。第三退避用線性遞增簡單夠用不需要引入額外依賴。關(guān)于 SSL 校驗cpr 提供了cpr::VerifySsl{false}來跳過證書校驗。這個開關(guān)在調(diào)試自簽證書的內(nèi)網(wǎng)服務(wù)時確實方便但絕對不要出現(xiàn)在生產(chǎn)代碼里。如果內(nèi)網(wǎng)服務(wù)用的是自簽證書正確做法是把 CA 證書裝進系統(tǒng)信任庫或者用cpr::SslOptions指定 CA 路徑而不是關(guān)校驗。這條屬于血淚經(jīng)驗跳過校驗的代碼一旦進了主干后面很難再摘出來。4.3 靜態(tài)鏈接與動態(tài)鏈接部署時的取舍裝的時候BUILD_SHARED_LIBS選哪個直接決定部署形態(tài)。動態(tài)庫的好處是多個程序共用一份libcpr.so升級時替換文件即可缺點是部署時必須帶上.so還得處理RPATH或者設(shè)LD_LIBRARY_PATH。cpr 依賴 curlcurl 又依賴 SSL 和 zlib動態(tài)鏈接下這條依賴鏈上任何一環(huán)版本不匹配運行期就是一個symbol lookup error。靜態(tài)庫的好處是產(chǎn)物自包含拷貝一個可執(zhí)行文件就能跑特別適合分發(fā)小工具或者塞進容器鏡像。代價是體積變大而且必須確保 curl 的靜態(tài)庫也在系統(tǒng)里——很多發(fā)行版的libcurl4-openssl-dev只帶動態(tài)庫靜態(tài)庫在單獨的包里裝漏了會在鏈接階段報找不到libcurl.a。我的習(xí)慣是內(nèi)部服務(wù)用動態(tài)庫方便統(tǒng)一升級對外分發(fā)的小工具用靜態(tài)庫減少環(huán)境依賴。如果選靜態(tài)安裝 cpr 時把BUILD_SHARED_LIBS設(shè)為OFF下游鏈接時確保-lcurl -lssl -lcrypto -lz都能找到靜態(tài)版本。4.4 復(fù)用 Session 而不是每次新建cpr 的cpr::Get這種自由函數(shù)寫法內(nèi)部會新建一個 Session用完銷毀連接自然也不復(fù)用。在請求量大的場景里這會明顯拖慢吞吐。改成顯式持有 Session// 長生命周期的 Session復(fù)用連接和 TLS 會話 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}}); // 同一個 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 不是線程安全的一個實例只能在一個線程里用。多線程場景下每個線程各自持有 Session別圖省事搞個全局共享的那種問題往往在高并發(fā)壓測時才暴露排查成本很高。5. 常見排查cpr 1.3.0 編譯鏈接的五個翻車現(xiàn)場這一章按現(xiàn)象 → 原因 → 解決記錄五條實際遇到過的故障。它們的共同點是報錯信息都不太直觀第一眼容易往錯誤的方向猜。5.1 編譯期三類報錯第一條報fatal error: cpr/generated/cpr_generated_includes.h: No such file or directory?,F(xiàn)象是庫裝了、頭文件路徑也加了就是缺這一個文件。原因是 1.3.0 的安裝規(guī)則沒有把這個構(gòu)建時生成的頭文件一起裝進去具體表現(xiàn)隨平臺和 CMake 版本略有差異。解決就是 3.3 節(jié)那套從構(gòu)建目錄find出來按相對路徑手動補到$PREFIX/include/cpr/generated/下補完記得再find一次確認(rèn)。第二條報大量undefined reference to curl_easy_...?,F(xiàn)象是編譯通過鏈接階段成片報錯。原因是鏈接順序不對或者cpr::cpr的傳遞依賴沒生效。解決是先確認(rèn)用的是target_link_libraries(xxx PRIVATE cpr::cpr)而不是手寫-lcpr手寫的話庫必須放在目標(biāo)文件之后并且補上$(curl-config --libs)。如果還是不行檢查是不是同時鏈接了系統(tǒng)里另一份 curl。第三條配置階段卡住或者報下載失敗?,F(xiàn)象是cmake跑到一半長時間沒動靜日志里出現(xiàn)獲取外部源碼的動作。原因就是CPR_FORCE_USE_SYSTEM_CURL沒開腳本在嘗試自己弄 curl。解決是回到 3.2 節(jié)把這個參數(shù)顯式設(shè)為ON然后刪掉構(gòu)建目錄重新配置——注意是刪掉整個構(gòu)建目錄只改參數(shù)重跑緩存的變量未必能覆蓋干凈。5.2 鏈接與運行期兩類報錯第四條運行期報 SSL 相關(guān)錯誤r.error.message里出現(xiàn)證書驗證失敗的字樣。現(xiàn)象是請求某個 HTTPS 地址一直失敗換 HTTP 就正常。原因是 curl 編譯時用的 TLS 后端和系統(tǒng)信任庫路徑對不上或者時間不對導(dǎo)致證書被判定為未生效。解決是先跑curl -V確認(rèn) Features 里有 SSL再用curl -v https://目標(biāo)地址對照排查——如果命令行 curl 也失敗問題在系統(tǒng)層跟 cpr 無關(guān)如果命令行成功而 cpr 失敗檢查鏈接的是不是另一份 curl。第五條程序啟動就報找不到libcpr.so?,F(xiàn)象是編譯鏈接都通過了執(zhí)行時報共享庫加載失敗。原因是庫裝在非標(biāo)準(zhǔn)前綴運行時加載器找不到。解決有三個層次臨時用LD_LIBRARY_PATH/opt/cpr-1.3.0/lib ./probe驗證確認(rèn)是路徑問題長期方案是在 CMake 里設(shè)置INSTALL_RPATH或者把前綴寫進/etc/ld.so.conf.d/后跑一次ldconfig。千萬別把LD_LIBRARY_PATH寫進全局 shell 配置文件那會影響同一臺機器上所有程序后患無窮。6. 驗證跑通三組對照把能跑和跑對分開裝完最忌諱的是編譯通過就完事。我見過太多次編譯沒問題、一上真實網(wǎng)絡(luò)就出狀況的情況。下面這套驗證分三層一層比一層接近真實使用。第一層靜態(tài)檢查。確認(rèn)四樣?xùn)|西齊全檢查項路徑缺失后果主頭文件/opt/cpr-1.3.0/include/cpr/cpr.h編譯直接失敗生成頭文件/opt/cpr-1.3.0/include/cpr/generated/cpr_generated_includes.h編譯報找不到文件庫文件/opt/cpr-1.3.0/lib/libcpr.so或.a鏈接失敗CMake 配置/opt/cpr-1.3.0/lib/cmake/cpr/cprConfig.cmakefind_package失敗第二層本地回環(huán)驗證。用一個本地起的小服務(wù)返回固定 JSON跑第 4 章那個最小例子確認(rèn)status_code是 200、r.text內(nèi)容正確、r.error.code是OK。這一步排除網(wǎng)絡(luò)因素驗證的是庫鏈接正確、請求能發(fā)出去。同時故意請求一個不存在的端口確認(rèn)r.error.code不是OK且程序走的是錯誤分支——錯誤分支沒被驗證過等于沒寫。第三層真實環(huán)境驗證。挑一個內(nèi)網(wǎng)的 HTTPS 接口用 Session 復(fù)用方式連發(fā)十次觀察兩件事十次全部成功說明連接復(fù)用和 TLS 會話沒出問題r.elapsed從第二次開始明顯下降說明連接確實被復(fù)用了。如果十次耗時一樣說明每次都在重新建連回去檢查是不是不小心每次都新建了 Session。最后給個習(xí)慣。從那以后我每次裝完 cpr都會把這三層驗證做成一個verify.sh留在構(gòu)建目錄里包含路徑檢查、本地回環(huán)請求、十次連發(fā)計時三段。原因很簡單這套依賴橫跨編譯器、curl、SSL 三層任何一層動過表現(xiàn)都可能變化而人腦記不住上次驗證時的細(xì)節(jié)。腳本跑一遍輸出的三行結(jié)果就是這份環(huán)境還能不能用的黑匣子記錄比回憶靠譜得多。裝環(huán)境這事沒有一勞永逸只有每次都走一遍的后悔藥。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲丁香婷婷五月天综合色| 国产毛片精品一区二区色欲黄A片| 日本在线播放97| 琪琪理论片| 久久综合五月天| 午夜丁香| 最近免费中文字幕大全高清大全1 色狠狠色噜噜AV天堂五区 | 婷婷伊人综合中文字幕| 丁香六月婷婷开心| 日本猛少妇色XXXXX猛叫| 九九视频这里是精品五月| 99热综合网| 99在线精品观看99| 亚洲乱码日产精品BD| 激情六月丁香综合| 五月久久综合| 另类小说色婷婷| 久一网站| 色色热| 色色色色色色色综合| 99热伊人| 五月天激情小说婷婷基地| 久久无码成人| 永久免费一区二区三区| 99婷婷五月天| 在线一起草av| 色欲久久综合| 国产精品激情AV久久久青桔| 五月婷婷说| 丁香狠狠操| www.久久99热地址发布| 色婷婷婷av| 中文成人在线| 婷婷五月色| 五月色丁香| 九九视频在线| 激情99在线视频| 亚洲AVDVD| 色五月偷偷| 午夜一区| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 丁香五月婷婷亚洲色图| 色综合xx| 久久五月天网| 久久小说网| 天天色宗合| 97色操| 玖玖热视频| 99热20| 午夜微拍福利| 五月天婷婷久久视频| 天天日日天天| 婷色五月天| 五月激情影院| 超碰免费人人| 黄色激情网站在线观看| 久热这里只有精品6| 婷婷涩涩网| 日本123区日韩欧美不卡在线看| 丁香五月六月综合激情| 六月丁香影院| 亚洲欧洲色色| 99热大香蕉| 八戒青柠影视剧在线观看| 淫荡工a| 天堂久久婷婷| 91人人看| 九九视频在线观看视频6| 第五色色色婷婷| 婷婷成人网五月天| 久一网站| 丁香婷婷影院| 成人精品视频99在线观看免费 | 美女天天爽| 婷婷偷拍网| 99九九免费精品| 99热自拍| 亭亭色色五月天| www.丁香黄色五月天人与| 五月婷婷丁香六月| 日逼影音先锋男人资源站| 精品99视频| 男人综合网| 婷婷综合精品| 黑人无码一区| 停停六月 综合| 图片区 小说区 区 亚洲五月| 日日操日日撸| 天天干天天射色综合| 色婷婷五月天亚洲 | 丁香五月天欧美成人| 综合久久六月| 六月婷婷激情| 五月婷婷丁香五月婷婷丁香| 影音先锋91资源站| 色色亚洲99com| 九九aV| 婷婷五月天狠狠色| 丁香色婷婷五月天| 九九99视频| 丁香五月婷婷少妇| 五月丁了香蕉综合| 久草婷婷| 大香蕉久久伊人婷婷五月丁香| 中文字幕无码成人电影| 97在线视频 欧美| 国产精品18久久久| 婷婷爱五月| 色综合综合色| 伊人婷婷五月天| 伊人深爱综合| 色丁香婷婷| 这里只精品| 五月天堂婷婷| 国产亚洲99| 91精品久久久久久77777| 五月婷婷导航| 五月婷婷亚洲色图| 天堂网色色| 婷婷五月天国产性感美女演员久久久久| 五月婷婷六月天| 婷婷久久综合久| 亚洲综合另类| 婷婷五月av| 97色婷| 99久热精品在线| 九月婷婷在线观看| 99久久.www| 色情成人五月天| 1024操逼| 九色综合网| 国产欧美熟妇另类久久久| 色婷婷六月天| 亚洲综合五月天| 女婷久久| 激情综合婷婷| 欧美婷婷色| 亚洲V国产V欧美V久久久久久| 思思热在线视频精品| 五月婷婷丁香| tingtingseav| 亚洲在线操| 五月香婷婷| 久婷婷五月丁香在线观看| 丁香五月AV综合| 无码天天操| 丁香五月综合在线播放| 亚洲综合另类| 精品国产AV色一区二区深夜久久| 久久5 9视频免费观看| 20253AV| 91日综合欧美| 久久九九怡红院| 五月天小说激情| 丁香婷婷六月在线资源观看| 99在线视频精品| 99热这里只有精品8| 99国产精品白浆在线观看免费| 91干婷婷| 超碰人人射| 丁香五月婷婷性爱| 激情五月天激情五月天| 久久婷婷成人综合色怡春院| 亚洲成AV人片在线观看| 九色视频91疯狂| 密臀久久| 激情五月综合亚洲另类| 校花娇喘呻吟校长陈若雪视频 | 丁香色播五月天| 亚洲色综合性| 99婷婷| 午夜天堂一区人妻| 九九99热| 国产美女最新VA在线免费观看| 婷婷色五月天在线观看| 久久婷五月| 日本天堂网站99| 日本97在线视频| WWW五月婷婷| 婷婷五月丁香六月天亚洲综合| 超碰97干| 综合网精品99| 激情色中文| 日婷婷久久开心| 色五月天综合网| 婷婷五月丁香青青草在线| 婷婷色在线视频| 狠狠操.com| 五月婷在线视频免费看| 99精品成人无码A片观看金桔| 欧美日本高清视频99| .操區COm| 97久久人人| se色婷婷视频| 99色色网站| 天天射影院| 五月丁香综合久久| 少妇高潮一区二区三区99欧美| 六月婷婷色色网| 97碰| 九九色图| 超碰在线个人观看| 五月婷婷中文网| 91色色色18| 99热传媒| 提提热五月天婷婷| 丁香在线视频| 丁香九九九九| 日本爆乳片手机在线播放| 欧美成人精品三区综合A片| caopeng97人人| 襙逼网| 91精品久久久久久| 婷婷五月天黄色网址| 五月婷婷久久内射| 一起草AV| 99久久66| 色五月婷婷久久| 久婷自拍视频| 情趣视频66| 天天插天天插| 免费无码毛片一区二区A片| 91岛国片| 色香欲综合| 图片区 小说区 区 亚洲五月 | 99综合久久| 99精品视频免费| 亚洲精品V天堂中文字幕| 五月婷中文字幕| 天天做天天爱天天爽综合网| 婷婷五月丁香四射| 2025年最新亚洲在线欧美| 五月激情综合网| 婷婷中文字幕| 色色操| 色婷婷免费视频| 色综合激情| 九九色婷婷五月天| 久久99这里只有精品视频| 开心五月天激情网| 五月婷婷新网站| 99啪啪视频| 五月婷婷综合久久| 色五月婷婷操逼| 婷婷丁香五月激情| 色玖玖玖| 99爽视频| 中文字幕av久久爽一区| 天天爽人人综合免费7799| 国产资源在线视频| 日本婷久久| 国产精品人妻在线网址| 黄色片区子| 97色在线观看视频| 日本色婷婷| 欧美 日韩 成人在线| 狠狠爱五月婷婷| 91疯狂操操操操| 久久九九国产精品怡红院| 日韩 mm 不卡| 色色色婷| eeuss人妻| 狠狠操狠狠操| 激情婷婷丁香色情五月天| 色色色热| 婷婷丁香五月噜噜噜| 亚洲12p| 六月综和久久| 久久综合影院| 色婷婷av在线观看| 另类精品视频在线观看| 色五月丁香激情视频| 色婷小说| 亚洲av电影网站| 99性爱无码| 激情又色又爽又黄的A片| 天天草婷婷五月| 亚洲无AV在线中文字幕 | 久久狠狠干| 激情深爱五月婷婷| 成人婷婷色综合| 婷婷五月天在线观看免费| 大香蕉天堂色| 色色激情网| 色婷婷视频| 五月丁香影视| 五月丁香婷婷成人综合网| 婷婷五月综合基地| 亚洲午夜视频| WWW.桔色成人.COM入口| 日本欧美999久久久三级片| 色婷婷六月天| 色之综合网| 人人插操| 丁香五月欧美| 色婷丁香五月| 欧美日本97| 久99视频在线观看| 亚洲综合视频一下| 亚洲婷婷婷| 色婷婷小说网| 99热在线免费| 婷婷丁香社区网| 五月婷婷六月激情| 99热播放| 五月开心激情网| 激情丁香久久| 99操| 九九色热| 影音先锋91在线资源站| 六月丁香啪啪啪| 丁香五月性爱| 中文字幕av网站| 亚洲午夜视频| 人人操人人爱丁香五月| 狠狠舔| 九月丁香很很色| 超碰资源在线| 五月天夜夜爱夜夜操| 香焦网五月天| 婷婷五月丁香激情| av狠狠操| 色色色色网| 久久无码激情视频| 色婷婷影| ..真实国产乱子伦毛片| 色婷婷香蕉| 久久网思思| 亚洲网站999| 国产毛片精品一区二区色欲黄A片| 人人播| 色综久久AV| 操碰99在线视频观看| 噜噜色五月| jiujiuxiangjiaowang| 91日本在线观看| 成人丁香婷婷五月天| 日本一道久久| 免费啪啪啪网站| 婷婷大香蕉| 日本色爽| 人人人人人人人草| 热久久思思热思思| 色五月琪琪| 99视频啪啪| 亚洲精品99| 婷婷六月激情| 日日做夜夜爱| 婷婷五月天.com| 婷婷射图| 久久影视婷婷五月| 日韩一级淫乱片一区二区三区| 99热免费在线| 色色免费网站| 五月天综合网| 五月婷婷六月丁香激情| 天天草天天日| www.爱操com.| 五月天激日本色情在线| 亚洲九区| 黄色五月婷婷| 六月婷婷综合久久| 丁香五月天婷婷91| 色玖玖综合| 狠狠五月天婷婷激情网。| 色婷婷六月性| 丁香五月婷婷深五月| 九九99热久久精品66中文字幕| 五月婷婷av在线| 极品少妇XXXX精品少妇偷拍| 中文激情网| 91性高潮久久久久久久久| 狠狠高潮精品亚洲1| 色五月成人在线| 性爱在线播放av| 欧美熟女99| 97操碰在线视频| WWW色色色COM| 亚洲视频在线观看区| 超碰av在| 九一娱乐在线观看视频| 久久婷综| 亚洲av电影网站| 色伦专区97中文字幕| 五月婷婷影院| 婷婷五月天成人网| 五月婷婷激情| 中国女人内射6XXXXX| 中文字幕成人| 农村熟妇高潮精品A片| 五月亭亭开心网| 色色五月丁香| 婷婷综合视频| 99热官网| 免费做A爰片77777| 九八Av| AA片在线观看视频在线播放| 色婷婷五月综合激情中文字幕| 最近中文字幕2019视频1| 欧美交换配乱吟粗大25P| 激情五月天丁香| 97福利视频| 成人av免费观看| 狠狠色婷婷777| 久久五月视频| 婷婷五月花| 国产精产国品一二三在观看| 久久久精品婷婷五月天| 91人无码久久久久久| 色综合中文综合网| 精品爆操| 九月婷婷久久久| 色色激情五月天| 天天色天天搡| 日日想日日夜日日操| 五月婷婷影视| 九九热视频这里只有精品| 丁香五月在线播放| 超碰久热| 精品国产乱码久久久久久免费| 少妇水多A片太爽了| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 色综合婷婷99| 99热在线资源| 色10月婷婷视频| 亚洲色色爱| 我爱婷婷五月天综合88| 久机视频这只有精品| 激情五月天综合网| 色丁香五月婷婷婷| 操逼在线视频| 五月丁香婷婷免费视频| 成人丁香五月天| 日本欧美成人片AAAA| 五月婷婷色欲| 91人人操人人看| 亚洲欧美成人在线| 好好干av| 99在线视频资源| 色色国产| 五月久久| 欧美黑人大吊| 久久66成人网站| 婷婷五月丁香色综合| 99热这里只有精品4| 黄桃AV无码免费一区二区三区 | 超碰在线观看caop| 丁香五月激情综合| 5月丁香六月婷婷| 我去色色网五雨天| 日本不卡高字幕在线2019| 婷婷丁香六月天激情四射网| 五月天成人综合| AV天堂淫乩| 亚洲视频伍月婷婷| 激情五月婷婷伊人| 思思热在线| 337p大胆噜噜噜噜噜91Av| 色播jjjj| 婷婷色在线| 久色五月| 狠狠色丁香| a级毛片一区二区免费视频| 日韩精品一区二区亚洲AV观看| 综合激情网五月激情| 丁香五月激情综合啪啪| 五月丁香六月激情欧美综合| 国产91在线视频| 亚洲色五月| 久久五月天激情| 婷婷在线视频| 激情九月天天天天婷婷| 精品人妻久久久久久久| 丁香婷婷色五月| 国产色色小草视频| 五月人妻婷婷| 丁香五月久久| 91 九色 入口| 激情五月天婷婷视频| 超碰激情网| 五月婷婷欧洲| 狠狠草婷婷| 成人欧美日韩| 一区二区三区四区牛| 夜夜躁狠狠 | 色色无码| 亚洲超碰中文字幕| 久久狠色噜噜狠狠狠狠97| 少妇人妻人伦A片| 黄色片久久| av九九| 九九精品热播| 七七色综合| 激情开心五月婷婷| 五月婷在线| 蜜乳人妻一区二区三区| 99综合一区| www99热| caop在线| 99久久精品国产色欲| 伊人久久丁香五月91| 在线国产精品色| 一月婷婷色色| 视频1区2区| 亚洲欧州色情在线观看| 亚洲亚洲人成综合网络| 婷婷亚洲激情在线观看视频| 亭亭玉月丁香| 婷婷色在线观看| 99精品视频在线观看| 中文字幕丰满乱孑伦无码专区 | 日韩激情婷婷五月天| 五月丁香婷婷基地| 九色七七| 九九精品热播| 久久婷婷五月综合色丁香| 亚州精品久久久久AV无码| 激情网五月天| 99热99思午夜精品| 91性高潮久久久久久久久| 综合网啪啪| 殴美日韩成人| 五月天丁香婷婷社区| 色五月丁香六月欧美综合| 亚洲中文字幕AV在线| 草操网| 免费AV播放| 五月婷婷干干干| 五月天婷婷色色| 成人视屏在线观看| 亚洲丁香花色| 天天干,天天舔| 草草视频91| 色色色色综合网| 五月婷婷色色色| 丁香九九九九| 色五月在线观看| 操操啪| 色五月婷婷久久| www.99色| 五月丁香六月欧美| 国产操B| 日日操,夜夜爽| 婷婷五月天桃花网| 人妻VideOssS人妻高清| 亚洲欧美国产A片免费观看| 五月天激情www| 五月丁香亭亭AV女优| 久久这里只有精品8| 色很久综合| 五月丁香婷婷综合| 99热碰碰热| 高清无码视频网址| 激情婷婷亚洲五月| 天天日日| 丁香婷婷性久久| 狼人婷婷久久| 天天插天天插| 婷婷五月天人妻| 狠狠色综合图片| 婷婷五月天久久| 国产ava| 色中色综合| 大波美女VA网站| 99在线视频。| 丁香五月激情综合| 五月婷婷激情综合在线| 色综合激情图区| 亚洲最大视频| 日本精品在线噜噜噜| 少妇性BBB搡BBB爽爽爽电影| 一起操 91N.com| 久久网日本| 99在线免费视| 日韩AV在线免费| 99精品久久久久| 婷婷第六色| 五月激情四射网站| 丁香 久久| 婷五月丁香俺| 久久久久久9热不雅视频| 亚洲成人无码网站| 久久性爱视频免费| 青青草Avb在线| 色婷婷基地| 99热这里有精品24| 六月丁香婷婷综合狠狠爱夜夜爱| 五月天激情四射| 日日狠狠久久偷偷四色综合免费 | 91pornav在线| 色婷婷成人| 日日爽日日爽| 狠狠做五月| 久久婷婷青青| 激情综合网五月激情| 日本欧美国产| 婷婷五月天成人| 潘金莲AAAAAAAAAA| 亚洲1区| wwwC0maV五月花| www.五月婷婷久久.com| 色啦啦视频| 激情小说五月天| 亚洲六月综合激情久久下卡| 国产精品久久..4399| 亚洲人妻一区二区| 婷婷的99视频网站| 婷婷情色五月| 91九色首页| 99视频在线观看网址| 色噜噜伊人| 五月婷婷六月丁香首页| 九九日伊人| 天天射综合网站| 婷婷丁香综合成人| 伊人大香五月天| 97五月综合网| 日日噜噜夜夜狠狠久久丁香五月| 婷婷五月综合在线| 99亚洲视频| 26uuu国产精品| 影音先锋一区二区三区| 久久综合香蕉国产国产蜜臀AV| 久久五月丁香| 丁香久久五月婷综合| 婷婷六月天亚州| 99视频这里只有免费精品| 亚洲色五月婷婷| 少妇熟女视频一区二区三区| 国产91视频| 日本五月天婷婷丁香| 日韩AC在线免费观看| 婷婷六月啪啪| 九九re精品视频在线观看| 日本AAAAAAAAAAAAAA片| 丁香 婷婷五月| 九九九热精品| 亚洲超级碰| AV在线免费观看不卡| 91碰碰碰| 日日天天干| 成人永久免费视频在线观看| 丁香六月成人| 精品51XX| 丁香五月第四色88| www.久久五月天.com| 久久亚洲婷婷| 久久刺激网| 精品九九网| 开心五月婷婷伊人| 玖玖婷婷色欲| 江苏少妇性BBB搡BBB爽爽爽 | 激情五月天网| 99综合免费视频| 夜色综合网| 色五月欧美| 婷婷五月另类网站| 五月婷婷六月丁香在线视频| 密桃激情五月天综合网| 九九热这里只有精品12| 色五月天综合| 91大屁股在线| 色色色com| 国产精产国品一二三在观看| 国产欧美精品AAAAAA片| 成人做爰A片免费看视频| 丁香五月手机在线| 思思热这里只有精品| 爱射综合| 99亚洲精品视频| 激情六月综合| 丁香五月综合| 五月婷婷五月天| 五月丁香成人网| 色五月亚洲| 538在线精品| 无码少妇高潮喷水A片免费 | 十月丁香婷婷| 丁香五月aV| 五月天婷婷爱丁香中文字幕| 五月丁香久久综合精品| 色婷五月天网站| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 久久久五月婷婷| 久久久久久久久99精品| 精品人妻伦一二三区久久| 97人人超| 五月丁香久久| 国产乱子轮XXX农村| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 最近韩国日本免费高清观看| 丰满少妇猛烈A片免费看观看| 国产成人精品一区二三区熟女在线| 久久久国产精品黄毛片| 色99久草在线| 婷婷欧美激情| 狠狠色婷婷7777久| 99热国内| www.激情五月天| 婷婷五月六| 中文资源在线a | 亚洲mm色| 国产午夜一区二区三区| 婷婷五月色综合| 五月婷色| 强辱丰满人妻HD中文字幕| 黄色av网站在线免费播放| 久久99jiu9| 久热 91| 丁香五月六月久久综合| 日本va视频| 天天综合网在线| 激情五月婷婷综合| 熟女人妻视频| 婷婷五月天激情电影| 色激情五月| 五月开心播播网| 亚洲国产网站| 亚洲色色色色色色色色色| 五月天婷婷激情小说| 日韩在线aaa| 操操自拍| 丁香激情网| 996re热精品视频| 97香蕉久久超级碰碰高清版| 婷婷五月欧美综合| 涩涩涩五月天| 99热这里| 丁香婷婷午夜| 欧美噜噜久久久XXX| 人妻精品久久久久久| 超碰日日操| 成人综合网站| 99在线视频免费| 精品网站99| 国产成人亚洲综合A∨婷婷| 天天干天天干天天操| 操日本99| 久久色情| 色五月婷婷五月天激情综合| 夜夜干夜夜操| 丁香婷婷老司机久操| 9久久精品| 丁香五月婷婷激情中文| 九九热只有精品| 97成人丁香| 91超级碰碰碰| 国产午夜一区二区三区| 操人91| 欧美色碰| 婷婷五月婷婷五月天| 亚洲午夜视频| 综合另类激情| 日日操夜夜操狠狠操| 久久久久人妻| 五月丁香婷婷钟和色图| 婷婷在线视频| 99热这里是精品| 国产精品人成A片一区二区| 九九99热| 五月天激情社区| 婷婷深爱五月天| 日韩操女| 激情九九这里只有精品| 超碰人妻在线| www.婷婷六月天| 91人人爽久久涩噜噜噜| 丁香色情五月综合网站| 91丨九色丨大屁股| 五月丁香婷婷啪啪综合| www.sezonghe| 国产激情久久| 久久精品4| 五月婷婷香| 狠狠精品干练久久久无码中文字幕| 91成人品| 丁香婷婷色情| 色综合久久8| 六月五月久久丁香| 激情五月天小说网| 欧美五月婷婷| 欧美激情综合色综合啪啪五月| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 夜色爱爱亚洲| 欧美另类五月激情| 免费精品99| 丝袜大香蕉| 大香蕉久久久| 久操97| 日韩视频99| 日本eVa一区=区视频| 91操色| 色色A| 91超级碰| www.久久久久| 91成人电影| 天天干天天做| 亚洲色婷婷久久99精品91| 操逼棍操逼| 婷婷情色开心五月天99| 五月情综合| 色五月婷婷网| 亚洲第一色色色| 久久激情五月| 男男野外做爰全过程69| 日本色噜| 色婷婷色99国产综合精品| 91婷婷在线| www,久久久| 婷婷丁香激情综合色情| 久久电影4399| 久久久性爱视频| 欧洲亚洲午夜| 欧日韩成人| 91人人操.COM| 草草操操| 99热国产这里只有精品| 丁香五月激情六月欧亚激情综合导航 | 婷婷va| 18久久| 啪色综合| 亚洲天堂爱爱| 日日夜夜婷婷| 六月婷婷成人| 亚洲妇女熟BBW| 涩涩五| 91嫩草国产线观看亚洲一区二区| 天天综合网亚洲综合网| 婷婷福利影院| 久久性爱视频网站| 欧美色色干| 九月激情网| 婷婷伊人| 国产精品涩涩涩视频网站| 婷婷激情五月综合基地| www.丁香黄色五月天人与| 激情婷婷五月天日本系列| 丁香九色不卡aaa| 丁香五月成人网| 91色逼| 天天干夜夜谢| 在线五月色播| www.丁香黄色五月天人与| 综合久久人妻| 丁香五月开心亚洲| 狠狠狠狠狠狠狠狠| 丁香五月婷婷姐| www.色色色com| 情趣视频66| 色情婷| 激情综合网五月激情| 色综合天天网| 嫩草视频。| 亚洲无码11| 五月天天天综合| 91色呦哟| 成人va视频| 91一起操| 欧美情色一区| 亚洲va成人va成人va在线观看| 91色综合| 97精品人人A片免费看| 天天天操天天天日| 超碰在线人人| 亚洲性图一区二区| 26uuu偷拍亚洲欧洲综合| 九九色综合| 俺也去综合| 丁香五月停停基地| 久99热| 色丁香五月天婷婷| 99热碰碰热| 国产肥白大熟妇BBBB视频| 婷婷成年人免费视频| 欧美日综合| 两性婷婷丁香五月| 91九色丨国产丨爆乳| 天天日人人| 涩 五月 婷婷 狠狠| 五月天成人小说| 色综合日日| 99久在线观看| 色级停停| 激情五月婷婷综合| 丁香五月婷婷影视先锋| 99色在线视频| 色婷婷色人人射| 色色丁香婷婷| 999热视频精品99免费在线| 中文字幕视频在线播放| 婷婷五月天激情综合深爱| 国产av基地| chaopengdaxiangjiao| 亚洲成人AV在线播放| 五月丁香六月婷婷亚洲激情综合| 伊人玖玖网| 婷婷五月在线视频| 亚洲人人操| 天天拍夜夜爽日日| 亚洲在线综合| 五月婷护士| 亚洲中文乱字字幕在线永久| 丁香婷婷婷五月| 99丁香五月婷| 五月天婷综合| 伊人婷婷大香蕉在线| 九九色婷婷| 女人天堂 AV| 五月丁香激情片| 婷婷综合在线播放| 99re欧美精品| 婷婷五月天久久久| 日日撸夜夜操| 嫩BBB槡BBBB搡BBBB视频| www狠狠| 月色色综合婷婷网| 9久热精品在线视频| 婷婷伊人綜合中文字幕| 欧美丁香婷婷五月| 久久婷婷五月综合色播| 月丁香久久久| 婷婷六月天亚州| 五月99久久| 这里只有九九精品| 激情文学 综合 色| 亚洲性视频| 中文字幕丰满乱孑伦无码专区 | 丁香五月香蕉在线| 色狠狠综合入口| 蜜臀综合久草| 国产又黄又爽又色的免费| AAA久久| 激情五月天在线免费美女视频| 五月丁香拍拍激情综合| 婷婷久久五月| 夜夜爱伊人| 亚洲AVwwwwwww| 91夫妻网站九色| 少妇被躁爽到高潮无码文| 91九九| 五月天丁香成人| 噜噜视频| 六月丁香色婷婷| 日逼免费视频| 日本五月丁香| 婷婷五月丁香影院| 天天做天天爱天天搞| 婷婷五月天综合久久| 色色五月激情| 色碰97| 久久久全国免费视频| 人妻熟女一区二区AV| 九九色逼| 97人人干人人操| 激情五月天电影| 日韩啪啪网| 亚洲永久免费| 色欲丁香| 大香蕉综合在线| 99色中文| 996热re视频精品视频| 97欧美在线| WWW.桔色成人.COM| 激情五月天综合网| 婷婷 色 丁香 夜| 色久丁香五| 丁香五月激情婷婷婷婷在线观看| 婷婷激情丁香六月| 五月天激情视频五月天| 亚洲狠狠操| 涩涩涩.com| 乱色色色| 六月丁AV| 激情综合五月开心狠狠| 狠狠色综合网| www.91婷婷| 9久久婷婷国产综合精品性色| 久碰婷婷视频| 国产91视频| 五月香婷婷| 激情五月久久| 99精品网| 日韩黄在免| 玖玖91| 超碰在线播放免费观看| www.久久婷婷| 26uuu精品一区二区| VA色婷婷| 精品色情一区二区三区四区| 婷五月天在线草| 99色播| 五月丁香激情六月| 婷婷射丁香| 久久Xx| 99re思思热久久| 97人人草| 狠狠爱深色婷婷综合| 五月天婷婷Av| 九九99男女视频在线观看| 久久久性爱视频| 天天爽夜夜爽夜夜爽精品| 欧美色骚婷婷五月天| 99色1| 欧美五月丁香| 五月天丁香网站| 激情网五月| 强辱丰满人妻HD中文字幕| 婷婷激情五月呦呦| 任你搞在线观看视频| 超碰在线国产9| 视频这里只有精品| 婷婷五月天性| 天天日天天干天天操| www.久久久久| 成人精品视频99在线观看免费| 丁香婷婷五月色综合| 99精品女人天堂| 91人妻色色网| 国产高清RV综合aVa| 激情五月天com| 日韩成人综合网| 香蕉AV777XXX色综合一区| 极品五月天| 网色99| 青青草护士中出内射-欧美电影在线天堂新版| 天天做 天天爱| 丁香六月激情四射| 97色色网| 丁香综合久久| 激情五月综合色| 天天色综合综合| 91人人网| 亚洲愉拍99热成人精品| 五月婷婷六月丁香首页| 精品在线| 天天高潮夜夜爽| 99操99| 久草免费福利视频| 婷婷伊人久久| 激情综合网 激情五月天| 99男人的天堂| 国产古装妇女野外A片| 98色丁香五月婷婷综合网| www.天天色综合| 啪啪六月婷婷| 人妻久久久久久久 | 五月丁香婷婷综合网| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 丁香五月激情五月| 91九九热| 精品九九在线观看视频| 亚洲天堂aaa| 亚洲综合五月天| 中文字幕欧美精品久久| 久久久精品99亚洲综合| 天天爽天天爽视频| 超碰人人色| 久九九热| 婷婷精品在线| 激情五月天视频| 狠狠色综合图片| 欧韩性爱| 亚洲激情综合| 国产午夜精品一区二区三区四区| 日韩操逼大片| 五月丁香六月婷婷亚洲视频| 99热国产免费| 青996青| 欧美激情2025| 亚洲综合99| 激情图片婷婷丁香五月| 人妻肉射免费观看| 欧美va在线| av成人在线播放| 人人干Av| 成人在线视频网| 欧洲一区二区| 色狠狠色综合| 国产欧美熟妇另类久久久| 超碰99久久| 五月天亚洲色| 婷婷丁香18| 亚州精品色情在线观看| 亚洲 视频 导航 一区| 五月婷婷激情啪啪| 色丁香综合影院| 99免费在线| 九九人人精品| 婷婷五月天免费视频| 精品国产AV色一区二区深夜久久| 色九九综合| 97极品在线| 五月情涩综合婷婷| 热久久视频99| 成人视频网| 婷婷五月激情四月综合 | 亭亭五月基地在线| 激情五月婷婷老师| 四川BBB搡BBB搡多人乱亂| 色性综合| 九九热av| 国产精品操| 色五月涩涩婷婷| 熟妇国产| 久久婷婷五月草视频| 日本精品久久久久中文字幕| 亚洲色色色色色色色色色| 91ncm视频| 伊人婷婷五月天av| 丁香五月天中文字幕| 1级欧美日韩| 日本九九热| 香蕉久久av一区二区三区| 五月天激情综合网站| 五月婷婷天| 日韩综合网络男女香蕉a片| 九月婷婷激情| 国产精品国产| 五月综合视频| 91视频久久久| 99热这里全都是精品| 天天射色五月天| 九九热思思| 五月婷综合| 99热费观看| 五月丁香婷婷老司机| 五月成人综合| 久久44| 婷婷5月九九| 久久婷五月影院| 99re视频精品| 日逼影音先锋AV男人资源站| 中文字幕乱轮| 婷婷五月天性爱视频| 日日夜夜久| 丁香五月天堂网AV| 丁香美女五月天婷婷| 中文久久婷婷| 99a级片| 婷婷激情性爱| 99精品在线观看| 日本a片网址| 涩五月婷婷| 夜夜做天天爽| 亚洲九九99精品视频在线播放| 日日日影院| 91人人妻人人操人人爽| 五月六月丁香激情| 国产精品色婷婷久久久精品| 美欧日韩国产成人在战| 爱操人妻| 狠狠操综合| 丁香五月婷婷呀| 综合 激情 婷婷| 人人爽欧美婷婷久久久五月丁香| 亚洲成人中文字幕| 丁香五月婷婷激情尤物| 九九综合精品| 五月综合久久| 人人玩人人橾| 亚洲乱码日产精品BD| 色色cOm| 99热高清在线| 91欧美日韩综合| 99色这里| 五月激情丁香啪啪| 99精品亚洲| 99在线视频播放| 中文字幕在线日亚洲9| 色欲香综合网| 综合九九日本| 91碰| 五月情四婷婷| 丁香深五月婷婷| 色五月婷婷老师| 久久婷婷五月综合| 无码成人AAAAA毛片AI换脸| 少妇人妻综合色6699| 日韩精品成人在线| 高清无码入口| 国产熟女日日骚五月丁香爱| 操操日韩| 日日天天干| anquye五月| 九九精品热播| www色色com| 中文字幕婷婷五月天在线观看| 亚洲久久日| 一起草AV| 黄色激情五月天| 91ncom.色| www,奇米影视| 五月婷激情影院| 激情涩涩网| 99re在线免费视频| 色婷婷av在线观看| 思思热热久久| 欧美图片丁香五月天| 丁香五月婷婷五月| 噜噜网免费视频| 久久久人妻不卡| 色五月天 丁香| 色欲久久综合| 婷婷伊人久久综合| 婷婷五月综合社区| 成人无码精品1区2区3区免费看| 激情五月天激情小说| 99五月丁香丁| 久久久噜噜噜操操操| 日韩AV大全| 婷婷五月天综合小说网| 久操大香蕉| 天堂二区| 99久久极情精品一区| 色噜噜婷婷| 婷婷五月四狠狠| 日韩美一级毛卡片| 激情深爱五月天| 天天爽天天爽视频| 色狠狠999综合网| 亚洲AV永久无码影院黑人| 99爱视频| 俺去也婷婷| 五月综亚洲| 久久久大香蕉| 日本久久久97| 色屌丝中文字幕| 久久这里都是精品| 婷婷国产日本欧美| 香焦网五月天| 97五月婷| 99这里| 婷婷 色 丁香 夜| 99在线视频精品| 97人妻碰碰碰久| 91jiuseshunv| 青青草国产亚洲精品久久| 日本色99| 久久婷婷激情视频| 极品少妇XXXX精品少妇偷拍 | 九九99男女视频在线观看| 欧美人与性动交CCOO| 婷婷色丁香五月| www色婷婷com| 99热久久最新地址| 五月丁香婷婷色色| 综合网网欲色| 国产婷伊人| 欧美色五月| 亚洲色夜| 天堂草在线看www| 五月天婷婷爱丁香中文字幕| 婷婷综合网站| 久人操| 亚洲永远av在线播放| 天天弄天天操| 99热国产| 日韩精品一区二区亚洲AV观看| 都市激情小说婷婷| 丁香五月色播中文在线播放| 国产99久久久| 六月婷婷九月丁香| 六月丁香开心婷婷欧美| 丁香婷婷老熟女综合网| 大香蕉啪啪啪| 激情婷婷五月|