免费国产精品自在自线-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
返回資訊列表
色在线99| 色婷婷九月综合| 欧美性爱丁香五月| 五月天激情偷拍| 丁香五月人妻| 人妻爽爽爽久久久久久久久| 天天干一干| 99热成人永久免费| 91精品婷婷国产综合| 激情五月天激情五月天| 性视频久久| 在线观看婷婷5月| 人人97操| 国产精品色| peg 2区三区四区的| 色婷婷丁香五月| 五月天激情网图片 - 百度| 天天色天天操天天射| 天天天天天天天干| 久久丁香九| 五月丁香婷婷网在线在线| 五月婷婷草| 婷综合| 丁香五月色网| 99综合97| 五月丁香久久| 婷婷五月天综合久久| 亚洲激情四射| 九九99偷拍视频| 超碰成人av| 99色看| 97超碰9久热婷婷热| 九九大香蕉黄色影院| 色五月aV| 狠狠五月激情在线| 91精产品自偷自偷综合| 激情婷婷五月丁香啪啪啪| 亚洲精品亚洲人成人网| 这里只有久久精99| 色五月丁香总合网| 激情丁香久久| 能看的av片| 丁香五月停停基地| 婷婷香蕉精品| www夜夜| 五月天黄色激情小说| 97sese婷婷| 九九综合久久| 97资源欧美日韩大香蕉超碰一区| 丁香六月激情网C0W| 99热线观看9| 在线观看日韩12345区| 另类图片色五月| 亚洲另类视频| 五月婷婷婷婷婷婷艺术| 色婷婷在线视频综合| 色玖玖综合网| AV色婷婷| 夜夜骑操AV| 99乱视频| 99热99久久| 天天射射夜| 五月天激情综合网站| 99热只有精品在线播放| 玖玖资源天天无码| 五月丁香久久呀| 韩国情人在线电视剧免费观看高清版全集 | 免费无码毛片一区二区A片 | 五月天色五月| 久久久久亚洲AV无码网影音先锋| 五月婷婷六月丁香综合在线| 激情六月丁香| 五月天婷婷免费| 久久婷婷五月天激情四射| 人人色婷婷| 婷婷 亚洲图片 丁香| 99热精品网| 欧美性爱一区| 六月丁香婷啪射| 天天搡日日搡aaaaⅩ| AV无码免费| 五月激情婷婷国产精品久久久久久| 综合久| 色婷婷第四色| 青996青| 91碰操| 久久精品99久久久久久久久| 99丁香五月婷婷在线| 操老逼综合网| 久久久久久久久久久jjjj| 激情五月天视频| 性一交一乱一交A片久| 屁股翘好撅高迎合跪趴| 丝雨一区二区| 香蕉五月婷婷| 开心深爱五月天| 丁香欧美| 二色av| 久机视频这只有精品| 婷婷伊人综合中文字幕| 超碰免费人人肏| 97色色综合| 99免费成人网| 色噜噜狠狠色综合日日| 亚洲无码你懂的| 99久久99九九99九九九| 色色亚洲视频| 色情婷婷久久五月天| 色V狠狠的干| 亚洲综合婷婷五月| 操一操干一干| 五月婷婷丁香网| 婷婷五月丁香国产| 久久奄也去色色网站| 色五月无码| 亚洲丁香网| 操碰99| 91九色丨国产丨爆乳| 激情五月丁香五月| 操久久网| 婷婷六月色播| 亚洲综合激情五月久久| 欧美日本免费一道免费视频| 一级黄色片看看| 成人看片网站| 天堂久久精品| 久久久99婷婷久久久久久| 欧美丁香六月激情视频| 色五月欧美| 色五月婷婷在线| 丁香五月天影院| 色色色99韩| 国产午夜精品一区二区| 91无码色色| 中文字幕在线免费| 在线色色| 五月婷婷大香蕉| 五月天婷婷社区| 婷婷婷狠狠| 五月天婷综合网站| 91久久婷婷| 久久黄色网扯| 久草婷婷| 免费国产VA国产免费| 成人电影在线免费试看| 丁香六月啪| 婷婷五月天激情在线观看 | 9l久久久视频| 超碰1999| 91久久精品国产91性色TV| 欧美色99| 激情六月天| 99综合免费视频| 亚洲激情区| 99国产精品白浆在线观看免费 | 99热99天堂| 亚洲色色色色色色色色色| 五月丁香 啪啪啪| 欧美性爱五月天| 久久婷婷五月天激情四射| 激情亚洲五月| 婷婷色网| 熟女人妻一区二区三区免费看| se.久久视频在线观看| 久久深爱激情网| 亚洲国产精品VA在线看黑人| 人人摸人人干人人做| 香蕉婷婷| 精品国产va久| 奇米影视在线视频| 中文字幕婷婷| 日韩五月天婷婷| 国产精品人成A片一区二区| 婷婷日| 亚洲精品又粗又大又爽A片| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 五月婷人妻| 在线播放中文字幕| 久久欧洲综合网| 亚洲国产成人AV在线| 欧美情色一区| 骚货艹网站视频| 九九中文色色| 99综合网| 夜夜骑天天玩天天日| 婷婷伊人綜合中文| 老司机日日夜夜青草| 26UUU| 五月婷婷综合久久| 丁香五月激情啪啪综合| 亚洲旡码| 只有久久精品免费| 日本三级中文字幕| yirenjiqingshiping| 狠狠操天天日| 2016日日夜夜操| 丁香婷婷激情| 中文成人在线| 久久久人人人妻丝丝丝| 狠狠色色| 色婷婷啪啪| 九九99精品| wwccc久久久| 久久月天堂| AV操逼网| 精品A√| 91男人资源站| 噜噜在线| 成人婷99最新| 色五月色五天免费视频| www.婷婷五月天| 丁香五月激情综合| 久久激情视频| 综合在线丁香五月| 久久综合中文| 99久精品视频| 色99视| 亚洲va综合va国产va中文| 五月天五月天成人网亭亭成人色网站| se色99| 色玖玖玖| 国洲夜色亚热在线久久| 久久性都花花世界成人免费视频| 色情婷婷| 激情小说五月天| 亚洲男女激情| 开心五月网 | 这里只有精品在线播放| 色色色色色色色色色色色色色色,网站| 婷婷五月天激情诱惑| 操一区| 91午夜婷婷狠狠久久综合9色| 色婷婷综合亚洲| 五月丁香婷婷伊人| 亚洲人人干| 六月激情婷婷| 久久精品4| 伊综合蕉| 欲求不满的人妻| 色色色综合| 中文字幕精品在线观看| 亭亭玉月丁香| 激情六月婷婷| www.9797国产| 丁香久久久| 一本久道综合色婷婷五月| 五月激情综合婷婷| 激情五月天无码| 激情综合五月| 丁香五月狠狠在线观看| 琪琪理论片| 91人人网| 99啪啪视频| 色综合视频| 麻豆精品| 插逼综合网| 久久新| 色婷婷玖玖影院| 20253AV| 日韩黄色影院| 大香蕉视频婷婷| 婷婷5月久久综合网站| 四川女人毛多水多A片| 99色在线| 精品久久久91久久影视网| 99高级会所久久| 激情综合无码| 深爱激情小说五月婷婷| 青青草视频福利| 思思久久96热在精品国产,| site:minyis.com| 99这里有精品久久97| 九九热这里只有精品23| 99热这是里只有精品| 天天久久人人| 色五月视频无码播放| 亚洲激情高潮| 免费观看的婷婷五月视频在线| 丁香五月天天高清在线| 日韩在线视频网站| 久久婷婷五月| 亚洲国产网址| 99综合| 亚州欧美国产久精国产99综合视频| 日韩色色小视频| site:wpjngj.com| 激情五月婷婷网在线观看| 日韩av大全| 国产精品香蕉| 99久久玖玖| 亚洲天天| 亚洲综合五月天| 人妻体体内射精一区二区| www.五月天| 人妻在线观看视频| 婷婷丁香在线| 五月婷婷网五月在线| 丁香五月伊人| 成人精品视频99在线观看免费| 婷婷久综合| 激情亭亭五月| 五月丁香WWW| 久久这里只有国产精品视频| 97干免费视频| 色色色丁香| 九九亚洲视频| 色五月丁香五月| 色丁香五月婷婷| 一起草AV入口| 99热大香蕉| 色播五月丁香综合| 色情五月丁香| 丁香六月综合激情| 综合久久综合五月天婷婷| www99精品| 国产一区男女| 婷婷五月天综合网| 99色在线观看视频| 婷婷开心久久| 日韩av一区二区在线/日产精品久久久| 91精品国产色猫| 激情综合播播| 亚洲99综合| 色五月 婷婷, 大香蕉| 91精品久久久久久久久久久久| 丁香六月狠狠| 婷婷91| 五月婷婷啪啪啪啪| 亚洲色婷婷婷婷人人爽| 激情性爱五月天| 婷婷久综合| 五月丁香色| 99在这里有精品| 九九视频在线观看| 91日本在线| 久久五月综合| 91制片厂久久久国产电影| 久热只有这里有精品| xxx.色婷婷| 国产成人精品亚洲线观看| 丁香婷婷色情| 色婷婷亚洲婷婷在线观看| 婷婷丁香九色| AV国产有码| 99热综合| 丁香婷婷六月婷婷六月婷婷六月婷婷| 色玖玖综合网| 六月丁香综合| 久久婷婷综合网| 国产美女主播vip| 五月精品免费XXX| 北京熟妇搡BBBB搡BBBB| 日韩精品一区二区刘| 五月丁香五月丁香| 99热在线观看| 丁香激情合作五月| 久久精品一区二区三区四区| 五月丁香激情综合六月涩涩爱| 婷婷五月天色播| 精品99*| 五月丁香啪啪啪免费看| 一区二区三区视频| 亚洲欧洲自拍图片专区五月天| 99这里都是精品6| 99ri国产在线| www.国产色| 丁香五月天堂| 能看的av| 蜜桃五月天色| 日本九九九九九九| 午夜激情综合| 热中文字幕| 五月天婷婷综合| 一起草无码视频| 狠狠操狠狠操AV| 婷婷五月色播网| 色色色综合网| 亚洲欧洲自拍图片专区五月天| 免费观看的av| 狠狠色综合五月| Www.se.久久| 九九视频这里只有精品| 激情五月天色网站| 欧美日韩中文国产一区发布| 人人操人av| 超级碰碰碰久久网站| 久久A V无码视频| 激情五月天福利| 丁香桃色网| 99热精品99| 91成人品| 五月婷婷六月丁香激情综合网| 极品人妻VIDEOSSS人妻| 久久色这里只有精品| 五月天色欧美| 99色在线观看| 五月丁香激情婷婷综合| 婷婷五月丁香欧洲| 大学生高潮无套内谢视频| 久久香蕉婷婷五月天| 日本美女97在线视频| 开心五月网| 色婷婷免费视频| 激情丁香图片| 五月天成人综合| 色五月激情五月| 99爱无码| 丁香六月婷婷久久综合八月| 99视频综合网| 色婷婷九月| 久久久久久丁香五月| 91久久久久久久久久| 欧洲亚洲精品| 色婷婷五月综合| 欧洲99视频在线| 69凹凸成人综合网| 开心五月深爱五月丁香五月激情五月 | 五月婷婷在线视频免费观看| 亚州精品成人片| 久久综合人妻| 婷婷六月激情综合| 久久ER视频com| 亚洲成人无码片| 这里只有精品视频免费在线观看| 青青草原精品久久| 亚洲色色图片| 天天色天天射天天日| 无码激情AAAAA片-区区| 粉嫩av懂色av蜜臀av熟妇| 色婷婷精品小视频| 99无码超碰| 丁香五月婷婷图片综合| 99性爱视频| 色天堂A| 伊人婷婷五月| 五月丁香婷婷网网网网| 色色色在线| 丁香九月色| 97香蕉碰碰人妻国产欧美| 停停五月丁香| 婷婷丁香人妻久久在线观看| 久久久久久久久久久久久久人妻视频| 99精品人人| 久久综合55| 久久婷婷热| 亚洲在线操| 四月婷婷丁香| 伊人色综在线| 伊人婷婷五月天av| 激情激情激情网| 五月丁香手机在线| 免费九九热| 久草a片| 婷婷五月综合网激情| 国产午夜精品AV一区二区麻豆 | 五月婷婷啪啪| 99操| 亚洲色频| 久久久性爱视频| 婷婷五月天奸女| 九九婷婷网五月天| 五月丁香六月婷婷国产视频| 久久久久久久久久人妻| 操日挥操日日| 五月天综合在线观看| 国际国外精品欧洲南美洲专区无码不卡| 九九视频免费| 久鲁鲁色网| 天天做天天爱天天摸| 婷婷亚洲天堂| 色综合爽| 亚洲99视频| 很操日本7| 五月丁香婷婷激情在线| 青青草原精品久久| 天天天干夜夜夜操| 99在线资源| 久久婷婷五月综合激情国产 | 天天日天天舔天天摸| 精品久热| 丁香亚洲婷婷五月| WWW五月| 国产va视频| 综合99久久天天综合| 人人干女人| 久久久久亚洲AV无码网影音先锋| 五夜婷婷| BBWCUCKOLD精品熟妇| 久久caop| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 色99网站| A片试看120分钟做受图片| 亚洲网在线观看| 嫩草视频。| 色婷久| 日韩人妻无码精品| 99在线观看视频蜜臀| 第四色婷婷五月| 色色色.COM| 九九热婷婷| 九月婷婷久久| 午夜天天精品视频| 在线观看免费狠狠色丁香香综合| 九月丁香| 乱色色色| 色五月91| W色综合| 91se在线观看| 激情99。| 色综合久久88色综合天天99| jiZZdr| 丁香婷婷五月香蕉91| 超碰人人操人人9| 大香蕉精品视频| 婷婷爱综合| 毛片毛片毛片毛片| 91久久婷婷| 婷婷不干网| 天天综合色丁香| 99爱免费在线观看| 综激情网| 在线看AV| 亚洲性爱干干| 丁香五月成人网| 九九热AV| 久久综合色情网站| 色婷婷丁香五月| 粉嫩AV久久一区二区三区| 91久久九色| 丁香婷婷五月天色综合| 91九色无码日韩| 九色综合网| 色婷丁香| 婷婷五月丁香六月| 成人超碰网| 久久五月视频| 天天舔天天摸| 97操碰在线97| 婷婷中文字幕版| 免费黄色视频网址| www.婷婷,com| 97色色色| 青青草五月天| 日日夜夜狠狠干| 内射人妻视频国内| 激情99。| 97人人干| 色色色在线免费视频| 操操自拍| 超碰在线综合| 丁香婷婷视频在线| 色五月色情| 五月天激情国产综合AV| 大香蕉九九| 午夜色婷婷| 丁香婷婷色五月激情综合| 超碰国产在线播放| 日本成人噜噜噜噜噜| 99精品久久| www.激情五月天。com| 午夜丁香丁香婷婷| 五月丁香六月婷| 99热费观看| 久久婷婷综合五月天| 90色免费视频| 亚洲最大五月天成人网| 欧在线一区| 丁香五月婷婷色| 天堂久久丁香| 日日插日日干| 色天堂操| 亚洲愉拍99热成人精品| 超碰人人操人人干| 狠狠干无码| 玖玖在线视频福利| 国产毛片精品一区二区色欲黄A片| 99热这里只有精品26| 婷婷五月丁香六月| 国产成人VA| 国产成人精品一区二区三区视频| 五月丁香婷婷中文网| 99超碰欧美| 五月成人综合| 五月天婷婷激情在线色图| 99热这里只有精| 亚洲一区二区无遮挡A片| 日本在线va| 五月天操逼网| 丁香五月婷婷基地| 五月丁香无码| 日本WWW九九九| 97av在线视频| 丁香五月婷婷六月婷| 亚洲婷婷性爱| 五月丁香亭亭| 婷婷丁香色五月亚洲| 99热这里只有精| 色五月天视频| 久久99精品久久久久久噜噜| 天天干天天干天天操| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 99色综合网| 日日爽夜夜爽| 五月丁香六月情| 中文字幕九九九九| 亚洲蜜桃精久久久久久久久久久久| 亚洲综合在线丁香五月| 超碰色婷婷| 成人精品在线| 色综合色综合色综合色综合| 亚洲激情亚洲激情| av一区免费看| 99精品视频网| 少妇综合网| 婷婷色五月噜噜| 伊人九九九久| 久久久久久人妻| 亚洲色色香蕉| 丁香五月六月久久综合| 色都都狠狠色都都色综合色| 日韩视频99| 伊人五月丁香| 99免费视频久久| 九九久99免费视频| 五月天婷婷基地| 亚洲六月婷婷| 亚洲激情区| 99综合久久| 婷婷五月激情基地| 亚洲激情久久| 六月久久婷婷| 久久婷婷五月综合色和| 久热2025无码| 九九99免费视频| 红桃91人妻爽人妻爽| 久久人妻视频| 国产9色在线/日韩| 噜噜色噜噜网| 五月天激情中文字幕| 成人 在线 日韩| 人妻Av在线| 色色色综合网| 丁香久久| 91精品无码| 色婷婷亚洲精品天天综| 色五月婷婷开心| 色婷婷五月开心六月综合| 97色视频网| 婷婷丁香91综合| 综合色久| 五月丁香婷婷综合| 久久婷婷五月| 激情五月婷婷| 91偷拍视频| 色噜噜狠狠色综无码久久合欧美| 开心五月深爱五月丁香五月激情五月 | 午夜性做爰电影| 色婷婷导航| 国产九月婷婷| 亚洲丁香花五月丁香花| 日韩成人无码| JAPANRCEP老熟妇乱子伦视频| 九色视频91| 精品99在线| 天天爽天天日| 五月天婷久精视频| 这里只有精品视频免费在线观看| 婷婷五月天偷拍| 色婷婷五月网| 婷婷六月色播| 日本操逼九九九九58日本操逼 | 久久在线人妻| 婷婷基地五月色| 久久这里只有精品视频26| 激情影院内射| 婷婷五月天无码熟女| 中文字幕+乱码+中文字幕在线观看| 五月婷色色| 色婷婷AAA| 操人91| 色色五月天婷婷| 婷婷色婷婷| 蜜臀AV在线成人| 亚洲综人色综网| se99高清无码| 丁香五月婷婷色综合基地| 丁香五月婷婷呀| 深爱开心激情网| 五月婷婷婷自由综合| 五月婷婷丁香av| 天天爽日日爽夜夜爽| 婷婷五月花丁香| 亚洲无码99| 成人五月丁香社区| 久久激情网| 99热在线观看| 超碰99热在线观看| 天堂色婷婷| 色色丁香| 亚州性爱99| 亚洲九九视频| 久操人妻| 亚洲字幕AV一区二区三区四区| 99欧美精品99日本精品| 亚洲综合一区二区| 影音先锋xfplay资源男人网| 99热777| 国产激情综合五月久久| 美女五月天| 日本V在线观看不卡视频网站| www.久操| 亚洲另类婷婷五月丁香在线播放| 亚洲综合婷婷五月天| 色色色热热热| 开心五月婷婷| 九九超碰人人| 日日日日做夜夜夜夜无码| 五月天婷婷五月| 亚洲综合视频网| 激情久久久| 色婷婷女优有码五月亭| 婷婷五月天播| 狠狠操狠狠操| 成人无码髙潮喷水A片| 日本在线观看91| 天天骑日日爽| 天天做夜夜爽| 亚洲亚洲人成综合网络| 国产视频福利| 色色色色色色综合| 97精品综合| 热婷婷av| 开心五月激情站| 亚洲婷婷久久综合| 天天日色情| 丁香五月亚洲AV| 日本五月婷婷| 日韩久久成人| 狠狠舔| 99热激情| 激情五月黄色| 婷婷五月天中文字幕.| 色五月播五月| 我淫我色婷婷五月天激情四射| 99九九热在线观看| 吉澤明步Av一區二區| www.久久99| 久久色天堂| 日韩在线婷婷五月天综合| 秋霞免费视频| 婷婷放心五日爱| 丁香六月婷婷久久综合| 亚洲视频在线网| 五月婷伊人| 精品久久艹| 182TV亚洲| 天天爽夜夜爽夜夜爽精品视频| 青青草国产亚洲精品久久| 97人人操人人爽| 日本久久人| 青青草婷婷久久| 婷婷六月天亚州| 99热这里有精品| 五月丁香婷婷在线综合蜜桃| 99色在线观看| 91干视频| 久99视频在线观看| 色你久久| 日本系列_4页_777FP| 99色久| 五月丁香性| 六月丁香AV| 五月丁香狠狠| 五月婷婷性爱网| 国产精品色一哟哟| 666555。COm毛片| 丁香五月宝贝激情网| 丁香六月婷婷综合| 开心婷婷五月天电影院| 丁香五月天激情| 激情婷婷五月久久| 99啪啪| 六月婷婷深深爱| 九九热精品视频在线观看| 综合玖玖性爱免费视频| 亚洲激情五月天| 欧美婷婷| 色色国产| 久久婷婷欧美| 婷婷九月丁香中文| xx人人xx| 插逼综合网| 综合色久| 99re这里只有精品免费| 中文字幕乱码亚洲精品一区 | 五月丁香六月情| 91色在线 | 日韩| 黄色一级影片| 97在线精品| 婷婷丁香六月天| 狠狠操.COM| 97碰91| 五月综合丁香婷婷| 91精品91久久久中77777| 99在线免费观看| 精品色色网| 特黄三级又爽又粗又大| 久婷久婷| 五月香蕉综合| 99九九99九九九视频精品| 亚洲无码色色| 国产成人av在线| 亚洲乱码精品久久久久..| 国产热精品| 男人視頻站| 五月天开心激情综合网| 99热这里只有精品13| 婷婷性爱五月天丁香网| 中文无码婷婷| 天天艹夜夜爽| 久久久五月天网站| 天天日天天操心| 99爱视频免费看| 精品亚洲国产成AV人片传媒 | #NAME?| 嫩草视频在线观看| 丁香激情合作五月| 大香蕉狠狠爱主页| 亚洲成人免费电影| 韩国天天婷婷| wWwCom夜操wwW| 久久婷婷五月综合色和| 中文字幕在线免费观看视频| 26uuuavcom| 99热在线资源| 91中文狠狠综合| 六月丁香色色| 久久婷婷丁香六月天| 丁香五月激情棕合| 亚洲激情四谢| 99在线观看精品视频| 五月丁香欧美综合| 国产精品久久久99视频| 99久久久久久久| 欧美三级A做爰在线观看| 99热免费观看| 这里只有精品视频看看| 丁香五月婷婷基地| 欧美超碰亚洲| 国产欧美熟妇另类久久久 | 六月丁香婷婷六月激情综合| 精品五月视频婷婷在线观看| AV免费在线网站| 国产美女无遮挡裸体毛片A片| 九九成人| 深爱1激情网| 99这里只有免费的精品| 色狠狠综合网| 婷婷丁香五月基地| 大地资源色婷婷视频在线| 在线视频你懂得| 婷婷五月丁香综合激情| 激情五月婷婷啪啪| 亚洲精品乱码久久久久久按摩观| 丁香五月综合久久| 丁香花大香蕉婷婷综合| 五月天成人综合| www.91操| 超碰爱爱爱| 九九精品在线观看视频6| 色亚洲视频| 五月婷婷综合网| 九九热视频99| 91色吧网| 久久婷综合网| 人人操人人看97干| 日本在线观看aaa 99| 婷婷.com| 大香蕉伊人久久| 中文字幕综合| 日韩成人电影在线播放| 婷婷人妻激情| www. 五月. com| 日韩人人操| 97碰碰九九视频| 九月婷婷在线视频| 亚洲网站观看视频| 四川女人毛多水多A片| 日本99热| 色婷婷99| 五月激情小说| 国外亚洲成AV人片在线观看| 国产精品色色| 91人妻PORNY九色大屁股| 色色色9| 五月天色色网站| 99久久网站| 大香蕉人妻| 777色色色| 综合五月天| 五月天精品| 精国产品一区二区三区A片| 九九热精品| 精品国产AV色一区二区深夜久久| 日本色婷婷| 香蕉久久av一区二区三区| 大陆极品少妇内射AAAAAA| 欧美性猛交99久久久久99按摩| 婷婷97狠狠成人网站| 风流少妇A片一区二区蜜桃| 人妻无码视频网| 成人久碰| av激情在线| 99精品在线| 婷婷五月天成人动漫 | 大香蕉五月婷婷| 五月丁香婷婷爱激情综合网| 99热香港| 伊人网色婷婷五月天| 五月激情偷拍| 九色91视频| 色人久久| 日韩欧美成人网| WWW99视频| 性爱AV天堂| 伊人婷婷五月| 五月婷婷六月情| 天天舔天天爽| 极品精品一区二区三区在线| 涩 五月 婷婷 狠狠| AV在线观看网站| 亚洲丁香五月天在线视频| 五月婷婷伊人在线| 97热这里精品在线视频| 亚洲色五月| av电影在线播放| 色情五月丁香| 午夜婷婷五月天在线| 99久久精品国产色欲| 五月丁香色色网| 五月丁香另类网| 99九九在线| 九色视频这里只有精品| 激情综合五月婷婷丁香| 狠狠五月天| 久久99久久久久久久噜噜| 丁香六月婷婷久久综合| 狠狠干思思热| 99热婷婷| 亚洲殴洲精品Av在线| 亚洲综合99| 17.c黄色| 六月天婷婷| 97ai婷婷| 好好日激情五月天| 伊人玖玖网| 五月丁香六月片| 日本啪啪天堂| 婷婷五月天激情综合深爱激情| 久久久18| 强奸幻女毛片| 丁香五月天天日| 六月丁香色色| www.韩日视频| 亚洲色色在线| yellow视频在线观看91| 色欲久久99精品久久久久久| 全亚洲最大的婷婷五月天网站COM 丁香五月婷婷狠狠色 | 九九AV| 久久婷婷六月综合综合| 五月亚洲激情| 色人久久| 五月婷婷六月丁香玖玖玫瑰91| 激情五月综合ì香亚洲| 无码啪啪| 999久久久国产精品| 亚洲一区二区无码蜜乳av| AV人人操| 九九热10| 五月丁香激情综合久久| 中文字幕操比影片| 五月婷人妻| 五月天综合| 色婷精品91| 国产精品VA在线| 99精日本久久| 色色丁香五月婷婷| 丁香婷婷久久| 九九热精品| 91超碰在线播放| 99热一本久道| 亚洲色情网站| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 亚洲愉拍99热成人精品| 婷婷的激情五月| 中文字幕黄色片| WWW99热| 色五月综合资源推荐| 久久婷婷网址| 亚洲色亚洲精品| 色婷网站| 婷婷丁香五月天亚洲| 国产精品18久久久| 婷婷区日本| 另类天堂| 久久在线视频只有这里有精品| 五月婷婷婷| 操碰99| 亚洲av免费在线| 97色永久免费视频| 五月婷婷人人人操| XX久久| 99riAV国产精品视频| 91.com男女操| 欧洲综合视频| 日本片日本片祼观看网站在线看中文版网页在线看 | 婷婷丁香在线| 五月丁香综合在线| 久久色频| BBWCUCKOLD精品熟妇 | 丁香五月成人| 激情综合五月.....| 国产69久久久欧美黑人A片| 噜噜噜色噜噜| 亚州第一黄网| 五月久视频| 久久丝袜婷婷| 99免费| 欧美激情五月天在线观看| 国产全是老熟女太爽了| 久久婷婷亚洲五月天| 婷婷中文综合网| 国产精品色色| 婷婷亚洲天堂| 欧美成人AAA片一区国产精品| 久久婷婷欧美| 人妻中文av| 操操天堂| 五月丁香六月欧美综合| 以及AA大片看看| 色婷婷综合网| 激情五月天婷婷直播| 亚洲亚洲人成综合网络| 五月天婷婷视频30| 偷偷操99| 婷婷激情四射| 五月丁香六月情亚洲| 国产操肏网站| 开心五月天激情网| 俺去也在线视频| 丁香婷婷超碰 | 91操片| 亚洲精品乱码久久久久99| 91无码一起草| 五月激情网站| 婷婷成人综合免费视频| 国产三级在线播放| 中文无码婷婷| 五月开心婷婷| 天天射天天干天插色综合| 六月激情网| 色婷婷久久综合久色综| 婷婷亚洲天堂| 色综合五月| 久久久五月天| 婷婷五月骚厕所| 亚洲av综合网| 欧美日本不卡黄色片| 激情久久五月天| 亚州精品久久久久AV无码| 亚洲天堂啪啪| 日韩精品一区二区三区,四区,五区视频| 亚洲色五月婷婷| 第四色五月激情网| 天天射色五月天| 丁香六月天| 久久五月天视频| 五月婷婷久久网| 中文字幕在线不卡| 以及AA大片看看| 天天日夜夜拍| 五月六月伦理| 婷婷丁香一月| 热久久91| 九月av在线| AA片在线观看视频在线播放| 99毛片| 婷婷亚洲五月色综合| 丁香五月亚洲AV| 亚洲成人九九九| 丁香五月婷婷天激情| 天天爽夜爽| 五月天伊人久久久久| 色综合网综合| 青草性爱视频| 欧美婷婷日本| 国内久久久精品99| 伊久大香蕉| 久久综合九九| 丁香六月婷婷开心| 五月婷婷丁香五月婷婷丁香| 丁香婷五月| 玖玖伦理电影| 五月婷婷色情| 国产午夜精品一区二区| 狠狠色综合图片| 无码日本精品XXXXXXXXX | 四色永久成人网站| 婷婷综合成人| 丁香婷婷色五月| 日韩乱玛久久| 色亚洲婷婷| 99在线观看视频精品| 午夜免费试看| 五月婷婷久久大香蕉| 任你搞在线观看视频| 碰碰碰97国产| 综合AV网| 久热婷婷综合| 大地资源色婷婷视频在线| 婷婷丁香五月综合| 婷婷色五月丁香六月欧美啪| 猫咪伊人久久| 99啪99| 色婷婷激情| 久久综合五月| 色色射| 色播五月婷婷五月| 曰日爽日日操| 丁香五月婷综合网| 丁香五月激情五月开心五月| 婷婷五月天论坛| 五月婷婷免费| 丁香五月婷婷成人网| 五月婷深深爱激情网| 狠狠色五月| 99热777| 久久婷婷五月综合色和| 激情六月一二| 强伦轩人妻一区二区电影| 26uuu亚洲欧美日本| 狠狠草在线观看| www夜夜| 亚洲不卡欧洲| 91久久99久久91熟女精品| 亚洲成人在线播放| 婷婷丁香五另类网站| 一区二区三区四区五区| 丁香月五月天婷婷久久| 狠狠干2007| 99人人操人人摸| 色婷亚洲| 婷婷五月婷婷| 婷婷综合精品| 久久丁香五月天| 少妇人妻偷人精品无码视频新浪| 激情AV网| 免费观看2018www黄色操逼网站| 亚洲AV无码成人精品区电影网| 色吧婷婷| 欧美婷婷六月丁香综合色连续高潮抽搐 | 六月激情久久婷婷| 丁香六月天婷婷色| 人妻精品久久久久久| www.婷婷.com| 久热综合| 日本猛少妇色XXXXX猛叫| 天天综合天综合久久网| 婷婷五月综合色中文字幕| 激情婷婷丁香五月天| 天天搞夜夜六| A久网| 亚洲美女高潮久久久久久69| 26uuu国产| www.婷婷com| 69色婷婷| www。88热在线视频免费观看| 五月天久久www| 五月婷在线| 色色色色综合网| 一本到不卡高清DVD| 五月天综合久久丁香91| Se.婷婷五月天| 亚洲aV写真天天综合网久久| 97影院一级片| 97夫妻超碰| 亚洲色激情| 天天综合图片| 97超碰在线免费观看| 丁香五月天啪啪| 丁香六月青青草| 婷婷五月成人色综合| 日本VA视频| WWW,五月| 91免费试看| 天天曰夜夜爽| 五月亭亭直播| 亚洲经典三级| 五月天伊人综合| 五月婷六月丁香| 九九久久99| 久久亭亭电影| 激情五月天在线| www.天天干| 韩国中文字幕91| 色五月色五天色情网| 九九精品视频在线6| 婷婷啪啪| 影音先锋偷偷色男人站| 逼逼AV| 五月婷婷天| 狠狠se| 99亚洲色| 色色亚洲| 中美日韩成人在线| 天天久| 天天色天天操天天射| 婷婷丁香熟妇综合网| 直接看的AV| 99国产精品白浆在线观看免费| 色色激情网| 亚洲男女激情| 久久大大香| 色爱综合视频| 色播丁香| 丁香 久久| 亚洲另类视频| 色五月丁香91| 综合网激情五月天| 激情婷婷| 五月丁香色| 日日夜夜干| AV变态另类一区二区| www,五月丁,com| 五月激情视频| 亚洲综合激情五月久久| 啪啪综合| 日韩高清久久| 欧美婷婷精品激情| 五月九九综合| 视色综合| 色逼综合网| 先锋资源 996| 亚洲V国产V欧美V久久久久久| 深爱五月月天| 99这里只有| 玖玖综合色| 粉嫩av懂色av蜜臀av熟妇| 狠狠爱婷婷丁香| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 日本精品人妻无码77777| 激情精品久久| 俺也去色| 天堂爱爱| 日韩成人无码| 99热在线中文字幕| 亚洲色无码A片一区二区麻豆| 国产成人VA| 精品一区二区三区免费毛片爱| 怕怕av| 国产av天堂| 亚洲五月天综合| 色级停停| 五月丁香六月婷婷开心网| 99久久高清视频| AA丁香综合激情|