99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
天天日天天干天天操| av激情在线| 色色亚洲| 色爽干| 99视频精品全部免费看| 婷婷五月精品中文字幕| 婷婷九九| 色色六月| 国产亚洲精品久久久久久牛牛| 亚洲欧州色情在线观看| 99 色色吧| 亚洲精品中文字幕成人片| 国产精品久久..4399| 狠狠干狠狠干狠狠干狠狠干| 国产精品久久99| 99这里只有精品| 涩涩网五月天| 婷婷 久综合| 色婷婷亚洲综合网站| 婷婷久久综合久| 亚洲色情网站| www,26uuu,c0m,色情| 五月天婷婷基地| 婷婷伊人綜合中文字幕| 97色婷| 夜夜躁爽日日| 婷婷五月天网| 国产操逼网站| 99久久婷婷国产综合精品电影| 丁香六月婷婷基地| www色婷婷| 婷婷丁香五月亚洲综合网在线视频观看 | 五月婷婷激情日本| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 久久久久久欧美精品se一二三四| 天天操天天爱天天日| 熟妇无码乱子成人精品| 五月天婷婷综合网| 五月婷婷开心网| 婷婷狠狠操| 99热网站在线观看| AV九九| 99热免| 欧美美女国产日韩一区二区久| 亚洲综合无码| 67194国产| 色综合偷拍| 亚洲无码性爱| 色婷婷亚洲在线观看| 久99在线| 亚洲色图在线视频| 9色在线| www。88热在线视频免费观看| 激情五月综合网| 91久久综合亚洲鲁鲁五月天| 99精品久久| 五月天天综合| 99热亚洲| 亚洲无码性爱| 久久99热这里只有精品| 深爱激情丁香| 色五月激情五月开心五月| 97碰| 精品少妇人妻AV无码专区偷人 | 一二线视频 另类| 夜夜爽天天爽| 综合在线观看99| 中文不卡av| www.丁香黄色五月天人与| 欧美成人猛片AAAAAAA| 五月丁香成人网| 99色婷婷| 日韩AV成人电影| 91碰操| 色色影院黄大片| 九九偷拍网| 97超级操操| 精品网站:999WWW| 丁香综合网| www激情婷婷com| 97色色视频| 久久综合激情| 成人av中文字幕| 久久久宗合| 五月天堂婷婷| 爱婷婷久久视频| 日日操天天| 丁香五月综合AV在线| 亚洲精品在线视频| 激情五月婷婷综合色播小说| 99热免费| 亚洲天堂色| 激情AV中文| 中文字幕不卡+婷婷五月| 久久性视频| 丁六月激情| 欧美久久婷婷| 天天综合精品| 久久婷婷五月天激情四射| 亚洲高清在线| 亚洲操B| 丁香五月激情啪| 五月色视频| 伊人久久丁香婷婷六月五月综合| 午夜天堂一区人妻| 亚洲五月丁| 久草五月| 亚洲六月婷| www.yw色| 爱狠射| 国产精品久久久丁香五月八戒视频| 一级操逼大片| 91久久久久久| 天天操天天插| 青草青草视频2免费观看| 五月丁香色色网| 国产AV一区二区三区日韩| 久久艹网| 天天日天天操天天干| A1片久久久| 色五月激情五月| 天天色天天射天天日| 五月丁香WWW| 亚洲五月婷婷| 中文成人在线| 怡红院视频| 开心网五月色婷婷| 五月天啪啪网| 精品人妻伦九区久久AAA片| 五月丁香综缴情性爱| 色色色777| 99热这里只有精品最新地址获取| 亚洲三A| 成人av在线电影| 久草婷妨| 婷婷九月丁香天堂丁香天堂| 区美毛片子| 色在线99| 97色天堂| 开心五月婷婷激情| 婷婷色色五月天| 超色欲天天| 五月天激情综合10p| 九九九九毛片| 狠色色狠网| 99ER热精品视频| 综合久久97| 99色网站| 97日在线视频| 五月丁香成年黄色| 99久久精品色老| www.激情五月| 五月天 婷 欧美亚洲| 99小视频| 婷婷六月色开 | 五月天成人免费视频| 亚韩精品视频1区| 99色色最新视频| 色99免费视频中文| 五月婷av| 免费色色色| 五月婷婷中文字幕| 国产裸舞福利资源在线视频| 狠狠综合网| www久久久久久久| www.久久五月天.com| 五月色亚洲| 67194成I人在线观看线路1| 色婷婷六月| 国产精品色婷婷久久久精品| 婷婷91| 色域五月婷婷丁香| 大香蕉人妻| 热久久77777| 日本乱子人伦在线视频| 日本99在线视频| 丁香五月激情月| 成人国产欧美大片一区| 激情五月,婷婷五月,丁香五月| 男女啪啪做爰高潮无遮挡| 欧美婷| 亚洲九N| 美国十月色婷婷在线观看| 激情五月天网站| 亚洲成人网址在线观看| 色婷婷色五月另类综合| 五月婷视频在线| 天堂中文国产| 99热香港| 亚洲综合五月天婷婷| 中文字幕婷婷在线| 亚洲色综合| 九九成人精品| 婷婷久久18| 新97人人上人人| 五月色丁香综合| 大陆极品少妇内射AAAAAA| www.com操| 日笨久久网| 91丨九色丨东北熟女| 丁香六月 人妻| 久久资源综合| 少妇熟女视频一区二区三区| site:pnnrt.com| 成人短视频在线| 99免费超碰在线| 丁香五月婷婷基地| 中文字幕色色色| 99爱视频在线观看这里只有精品| 99热r| 怎么样可以看免费的一级av| 久久激情网| 很很干在线视频| 婷婷久久婷婷色五月| 婷婷激情综合| 色婷婷小说网| 色五月色综合| 多精窝99在线视频| 9l视频自拍9l九色成人| 久久婷中文字幕| 激情婷婷五月天| 色婷婷狠狠18| 热成人网| 婷婷亚洲在线| 青青草婷婷综合五月| YW无码| 婷婷欧美色| 久久综合干| 五月婷婷免费视频| 综合99在线| 97性视频| 五月丁香六月婷婷久久肏| 欧美激情丁香五月天久久婷婷一区| 影音先锋男人AV资源站| 麻豆观看夏晴子| 99天堂网| 99re在线观看| 九九免费视频| 天天射影院| 天堂久久性| 激情小说 五月天| 日日日日做夜夜夜夜无码| 五月丁香在线观看| 久久色五月| 婷婷五月欧美AA片免费| 五月丁香另类网| 欧美日韩精品人妻狠狠躁免费视频| 久久人人九九| 五月婷婷中文字幕| 婷婷俺去也| 久久婷狠狠色| 天天插天天射| 丁香五月天色| 激情丁香婷婷六月天| 婷婷婷久久久| 天堂综合久久| www.婷婷,com| 超碰免费人人| 激情视频网址| 日本三级成人秘书精品片| 嫩草AV久久伊人妇女超级A| av中文在线| 欧美色图天堂网| 国产无人区大片| XX色综合| 碰超亚洲| 在线超碰91| 超碰啪啪网| 五月激情婷婷偷拍| 综合99久久天天综合| 中文字幕第四色.999| 五月做爱| 91色九| 色婷婷综合综合网| 久久欧洲久久| 天天操天天谢| 五月天狠狠色| 丁香五月婷婷啪啪| se婷97| 婷婷五月激情五月丁香五月| 五月丁香婷婷在线| 丁香5月啪啪| 中出内射的人妻视频| 五月天激情视频五月天| 色久影院| 野战J办公桌椅H| 人妻久久久久| 神马久久五月天| 五月丁香婷婷99| 成人中文字幕在线| 亚洲色五月天在线| 色婷婷狠狠| 97碰| 成人龟情网丁香五月| 在线综合啪| 51XX午夜影福利| 天天天添天天操| 大伊久久| 中文字幕不卡+婷婷五月| 天天日夜夜拍| 69综合在线| sesesesezonghe| site:feetmall.com| 婷婷五月天伊人| 日韩视频99| 河北真实伦对白精彩脏话| 五月天堂六月丁香亚州中文字幕久久| 五月丁香色色网| 中文字幕丁香五月| 九九这里是免费的视频5| 91丨九色丨大屁股| 在线天堂9| 天天爱天天做天天舔| 啪啪六月婷婷| 国产亚洲99| 国产精品人成A片一区二区| 色播播之激情五月婷婷| 国产成人亚洲综合A∨婷婷| 91爱操| 国产古装妇女野外A片| www.综合久久| 婷婷综合在线观看视频| 色综合五月| 97人人操人人操人人操人人| 开心五月色婷| 综合色图区| 黄色五月婷| 五月丁香啪啪啪免费看| 色5月婷婷色| 国产黄色在线观看| 人妻操逼| 色婷婷电影网| 99热国产精品| 激情久久久久久久久久久| 欧州婷婷五月天综合| 丁香婷婷五月天激情四射| 五月婷婷丁香在线视频| 99久久人妻精品无码二区| 丁香婷婷啪啪啪| 色香蕉影院| 综合色七七| 色九区| 免费日本aⅴ中文字幕| 伊人干综合| 久热久69| 亚洲九九99精品视频在线播放| 综合激情五月丁香9999久久精| 久久人妻少妇嫩草AV| 狠狠五月激情丁香六月| 大香蕉七区| 色情五月天婷婷| 九九热最新| 亚洲在线综合| 久草A片| 玖玖五月丁香| 婷婷丁香九月| 91九色精品女同系列| 天天日综合| 丁香五月婷婷www..com| 天天透天天爱| 26.uuu丁香五月婷婷| 成人在线99| 99玖玖视频| 狠狠撸激情综合丁香五月天俺来啦| 丁香激情五月| 伊人狠狠综合| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 96自拍视频九色在线观看| 日本欧美成人片AAAA| 五月丁香久久精品在线观看 | 久久狠狠干| 丁香久久久| 亚洲婷婷丁香| 亚洲精品亚洲人成人网| 色婷婷五月天成人网| 少妇被躁爽到高潮无码文| 丁香婷婷免费| 狠狠色综合图片| 婷婷六月激情综合| 五月婷婷,狠狠操| 五月婷婷色播| 99免费成人网| 丁香五月五月婷婷欧美大香蕉| 五月综合亚洲| 色婷婷综合网站| 思思热久久婷婷五月天| 九九超日本| 九九精品综合| 成人婷婷五月| 91九色欧美| 99热婷婷| 狠狠狠狠狠草| 五月综合丁香婷婷| 成人综合网站| 人妻操逼视频| 天天干,天天舔| 午夜不卡久久精品无码免费| 五月婷婷欧美激情| 色婷婷a| 婷婷五月色播放| 亚洲中文乱字字幕在线永久| 大香蕉天堂色| 性一交一乱一交A片久久四色| 五月激情综合激情五月| 激情婷婷九月| 亚洲亚洲人成综合网络| 丁香婷婷色色| 麻豆123区| 五月天AV大香蕉| 开心五月深爱五月| 人人操av| 五月天婷婷久色| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 久久久com| 色婷婷五月网| 丁香五月婷婷影视先锋| 丁香花操逼| 天天草婷婷五月| 久久色9| 激情五月婷婷丁香六月| 婷婷五月天av| 九色PORNY在线精品酒店| site:feetmall.com| 大地资源色婷婷视频在线| 婷婷五月天亚洲图片| 538午夜激情| 99爱视频| 亚州精品久久久久AV无码| 精品99在线| 免费无码毛片一区二区A片| 久久久免费精彩视频| av婷婷丁香 六月| 五月丁香婷婷综合网色欲| 亚洲色综合| 五月婷激情影院| 激情综合丁| 色一区高清| 色五月激情综合| 婷婷五月丁香第四色超碰在线| 激情久久五月天| 久久九九在线视频| 思思w99| 婷婷久久五月| 狼人狠狠操| 色的色综合| 日韩精品一区二区亚洲AV观看| 成人做爰高潮A片免费视频| 激情AV在线| 婷婷五月天狠狠搞干| 狠狠色性| 777久久综合视频| 色婷婷婷婷| 4438成人电影| 日本色色网站| 亚州婷婷五月激情综合| 一区中文字幕电影| 操日本色| 色婷婷色综合激情91| 久久XX日本综合| 99精品偷自拍| 99精品国产乱码久久久人妻| 99国产精品久久久久久久久久久| 五月婷婷丁香| 国产做爰视频免费播放| 五月色情| 婷婷色色色| 91九色 熟| 伊人久久丁香狠狠婷婷综合香蕉 | 九九99热| 五月婷婷色影院| 激情五月天偷拍综合网| 激情综合色婷婷啪啪六月天| 日本三级中国三级99| 久久99综合网| 婷婷丁香人妻天天爽| 色丁香五月| 激情五月天丁香| 五月婷婷色情| 人妻AV在线| 国产99久久久国产精品免费看| 色色婷婷五月天| 精品人妻伦九区久久AAA片| 色婷婷成人做爰A片免费看网站| 婷婷丁香六月天| 99色色网| 九九99精品免费播放| 伊人五月婷| 99久久久精品| 99九九精品视频| 亚洲乱啪| 思思精品视频| 久久99网| 五月丁香激情啪啪| 激情五月天婷婷直播| 久久久这里都是精品| 五月天天丁香婷婷在线中| 激情99| 色婷视频| 激情五月天色色色| 99热国产精品| 丁香五月冃欧美| 婷婷五月丁香综合激情| 91狠狠综合久久久| 国产精产国品一二三在观看| 九九九九九九九九九九九九九国产精品| 色色色色区| 色色色色色热| 啪啪六月婷婷| 九九九九这里只有精品| 1级欧美日韩| 91九色欧美| 婷婷五月天av网| 综合视频五月| 日本三级黄色大片| 97婷婷五月| 丁香五月偷拍| 婷婷丁香在线播放| 中文字幕永久免费| 激情五月婷婷色综合| 婷婷五月精品中文字幕| 丁香五月久久综合| 99热婷婷| 亚洲综合欧美色丁香婷婷888月图片 | 67194成I人在线观看线路1| 图片区 小说区 区 亚洲五月| 熟女国产在线一区二区三区四区| 激情婷婷内射| 九九性爱网| 99ER热精品视频| 伊人9在线| 精品综合久久久久久五月天| 26UUU欧美激情一区二区| 日本一级黄色片。| 久久er视频6| 色丁香五月| 亚洲妇女熟BBW| 香蕉视频91| 99热在线只有精品| 六月色色| 色情五月| 免费播放99性爱视频| 中文字幕不卡+婷婷五月| 综合六月久久| 五月香蕉综合| 久久98| 激情久久综合网| 五月天激情网址| 久草五月| 97视频91| 成人电影AV在线观看| 97超级碰| 五月婷婷九| 啪啪色区| 五月婷婷 激情五月| 这里有精品| www色色色com| 色综合激情| 光棍影院日韩精品| 五月丁香六月欧美综合网站| 99情色五月天| 五月婷在线视频免费播放| 99操| 激情婷婷综合| 开心五月天激情网| 婷婷五月激情丁香| 久久婷婷五月天激情新地址| 激情欧美婷五月| 99热亚洲精品| 六月丁香婷婷色狠狠久久| 九色自拍| 精品在线网站| 久久久com| 伊人网碰碰| 色999;丁香五月| 久久五月网| 五月天婷婷免费| 超碰国产AV| 美女xx不卡| 天天干天干| 六月色 亚洲| 热久久99视频| 黄急一级视频| 乱色色色| 99五月婷| 色狠狠综合| 天天综合网、天天综合色 | 色偷偷五月天| 99在线观看精品| 夜夜资源站| 色婷婷中文在线| 九九十99视频| 久草五月婷婷| 久久久久久xxxxx| 国产做A爰片毛片A片美国| 色欲五月天| 午夜成人片400| 色五月色综合| 高清国产AV| 色婷婷亚洲| 99热综合在线| 欧美黄色一级录像| www.狠狠操| 激情综合色网| 超碰在线免费观看日韩| 婷婷丁香五月婷婷| 无码一区二区日韩| 婷婷婷久久| 99干视频| AV美美午夜| 操草草草| 伊人婷婷五月天| 天天插天天很| wwccc久久久| 丁香婷婷六月天| 综合激情啪啪| 人人97操| 天天做天天爽| 婷婷综合精品视频97| 五月天天堂久久| 六月激情网| 五月天婷婷影院影院观看| 97干网站| 五月丁香亭亭激情操逼网| 综合伊人久久| 五月丁香六月激情网| 超碰国产在线观看| 搡BBBB搡BBB搡18| 激情五月天激情小说| 超碰在线人妻| 婷婷久久天堂网| 狠狠做深爱婷婷久久综合一区| 激情五月天婷婷视频| 色婷天天| 五月婷婷伊| 久99视频| 五月天婷婷激情综合| 狠狠综合| 五月天婷婷激情在线色图| 久久这里只有国产| 香蕉久久六月| 丁香五月天激情四射网络不好| 狠狠穞A片一區二區三區| 激情五月,激情综合网| 久久er免费视频| 日韩在线一级| WWW.HENHENL.| 国产又爽又猛又粗的视频A片| 999激情视频| 婷婷色5月激情网| 五月婷婷色男女| 97干欧美| 五夜丁香| 久久日韩婷婷五月| 国内自拍97在线| 午夜丁香婷婷| 99热97| 丁香五月AV| av操一操| 可以直接看的AV网站| 亚洲 精品 综合 精品| 色婷婷婷婷| 综合九九久久| 日韩久久日| 丁香婷婷五月色成人网站| 99视频精品全部免费观看| 婷婷午夜| 激情综合网五月激情| 婷婷五月色惰| 精品人妻一区二区三区四区不卡在| 狠狠操天天日| 日本精品久久久久中文字幕| 99操碰| 九九热99熟女| 五月天天综合| 五月天婷婷网站888| 五月丁香婷婷综合| 五月综合色| 五月婷婷之婷婷| 五月丁香狠狠| 精品五月天| 在线观看中文字幕| 亚洲综合激情五月久久| 色五月婷婷在线| 五月天淫乱视频| 丁香五月开心亚洲| 色色色五月婷婷| 九九热在线视频观看| 五月婷婷激情综合| 五月色导航| 婷婷六月插屄激情| 综合网五月天123| 婷婷五月天六月| 六月丁AV| 日本3级片一区2区| 婷婷中文字幕| 亚洲精品国产熟女久久久| 日本精品人妻无码77777| 婷婷激情五月呦呦| 婷婷国产五月天17c| 九九偷拍网| 男人天堂99| 26UUU一区二区| 色婷婷成人做爰A片免费看网站| 97婷婷色| 97综合视频在线| 五月婷婷精品| 九九Av| 婷婷五月天激情综合| 九月色婷婷综合| 五月天播播| 久久久久久欧美精品se一二三四| 无遮挡国产高潮视频免费观看 | 激情婷婷丁香五月天小说| 婷婷五月天va| 色天五月天在线观看视频| 色噜噜婷婷| 日本二级毛片二级毛片| 五月丁香婷婷啪啪综合| 热的国产99热| 色婷婷色婷婷五月| 性爱视频99| 婷婷五月天淫荡| 五月婷婷乱| 思思99精品视频在线观看| 一本伊人色婷| 久9热在线视频| 国产成人AV| 九九人人自拍| 国熟女视频| 综合网啪| 婷婷五月天综合中文| 久色大| www.99热在线观看| 亚洲婷婷丁香| 婷婷成人基地| 开心五月天激情网| 五月天偷拍| 免费操超碰| 开心激情色婷婷五月天| 五月天婷婷丁香导航| 亚洲va综合va国产va中文| 99日视频在线| 五月色导航| 人妻综合网| 大香蕉伊然在亚洲90| 婷婷五月天天天日日夜夜| 婷婷五月激情六月| 小香蕉av| 熟女激情网| 日韩99视频| 九久久九精品视频| 日本va欧美va精品发布视频 | 久久五月天丁香花| 激情五月婷婷伊人| 这里只有精彩视频| 狠狠色五月| 婷婷色六月| 婷婷五月激情在线| 欧美丰满熟妇BBB久久久| 综合网色| 九色91视频| 俺也去在线视频| 色婷婷丁香A片区毛片区女人区| 激情床戏| 亚洲综合另类| 五月花激情网| 五月丁香天堂网| 玖玖爱伊人网| 激情五月亚洲综合网| 五月天婷婷久久| 五月丁香久久综合| 久久激情五月天| 婷婷五月丁香色综合| 日本社区五月天激情| 五月天丁香婷婷网| 亚洲AAA| 国产精品一区在线观看你懂的| 色综合久久久久| 激情综合色网| 久久久亚洲精品一区二区三区浴池| 天堂成人A片永久免费网站| 午夜丁香婷婷| 五月丁香综合在线| 婷婷五月四狠狠| 丁香六月激情| 五月丁香久| 久热91精品| 久久五月天视频| 色v综合网| 欧美色99| 26uuu青青| 99热这里只有精品9| 久久久精品99亚洲综合| 女人天堂AV| 五月天激日本色情在线| 免费看欧美成人A片无码| 婷婷五月综合欧美在线播放| 久九男女天堂| 热99在线| 婷婷丁香视频在线观看免费| 激情网五月天| 五月激情丁香久久综合网| 激情久久久| 日韩六十路91性交电影| 久久六月婷婷| 日本色五月婷婷| 久99在线视频| 无码色| 五月五丁香婷婷| 九色视频入口91| 五月丁香婷草| 狠狠香婷婷五月| 婷婷色影音天| 99精品免费视频| 一逼色综合| 嫩草AV久久伊人妇女超级A| 丁香五月丁香伊人| 久久日韩婷婷五月| 九九色精品| 久久er九九| 97超级碰| 五月丁香精品| 爱草视频在线| 久久五月天色婷婷| 99色6爱9热| 亚洲丁香五冃97色| 亚洲第一综合| 精品色情一区二区三区四区| 日本三级第一页| 亚洲午夜视频| 九九九成人在线视频| 一级无码作爱片| 五月花激情| 婷婷五月天激情综合网| 99九九在线观看免费| 天天爽天天爽| 天天色天天操天天射| 五月丁香啪啪啪| 精品无码人妻一区| 亚洲有码在线视频| 这里只有精品久久| 婷婷五月天在线观看| 色亚洲视频| 草榴视频网| 这里只有精品视频222| 欧美美女国产日韩一区二区久| 人碰人人人玩91| 91九色首页| 日韩在线五月天婷婷| 丝袜人妻| 五月婷婷丁香综合,亚洲天堂| 色色五月丁香婷婷| 激情综合色| 丁香五月在线人妻| 任你日热视频| 97超碰免费超级在线观看| 丁香五月天黄色片| 久热网在线视频| 色五月婷婷久久爱| 91碰超| 天堂在线观看视频| 色丁香五月婷婷| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 丁香六月综合激情| 色色色色色色五月婷婷| 国产av一区二区三区| 色播五月| 丁香六月激情四射| 99热手机在线精品| 狠狠五月天激情| 欧美va视频不用播放器的va视频网| AV操逼网| 婷婷丁香成人五月天| 五月色亭丁香| 懂色av粉嫩av蜜臀av| 天天干天天做| 97视频.干com| 一级性爱大片| 五月丁香另类网| 国产精品涩涩涩视频网站| 五月综合视频| 天天日天天爽夜夜爽| 综合激情在线视频| 丁香六月综合| 丁香五月天之婷婷影院| 久狠日av| 五月婷婷欲色| 婷婷丁香成人网址| 五五月五月| 草操网| 色婷婷丁香六月| 天天色情站| 精品99这里有| 天天做天天视天天谢| 色色综合色视频| 精品久久二6| 噜综合| 无码网| 日韩人妻无码一区二区| 成人视频九九| 婷婷五月天中文字幕| 99精品女人天堂| 亚洲色基地| www.色婷婷| 天天爽夜夜爽夜夜爽精品| 日韩啪啪视频| 五月丁香久久精品在线观看 | 久久网日本| 国产 亚洲 在线| 五月丁香婷婷色色| 99在线观看精品视频| 久久激情五月| 无码一区精品一区视频| 蜜臀综合久草| 亚洲色基地| 婷婷操超碰| 九月婷婷| 色婷婷丁香五月天在线视频| 久久网思思| 日本操逼九九九九58日本操逼| 播四月婷婷六月丁香| 久久视频婷婷| 五月婷婷六月色| 免费黄网不卡AV| 热婷婷久| 色婷婷狠狠爱| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 五月婷婷激情网| 激情伍月 欧美| 丁香5月啪啪| 综合五月丁香六月婷婷| 色呦呦美女| 依人大香蕉| 天天操天天干天天射| 色色色色色色五月婷婷| 五月婷色色| 99热这里只有精品69| 天天婷婷综合亚洲亚洲| 九九伊人网| 韩国中文字幕91| 在线看黄色| 亭亭五月丁香综合欧美| 色婷婷五月婷婷五月婷婷五月| 国产视频婷婷| 五月色影院| 青青草轻轻操| 久久久久久综合88| 亚洲一色色色色色色色色| 久8色色| 色噜噜五月天| 国产高潮A片羞羞视频涩涩| 国产超碰av| 亚洲中文av| 激情综合另类| 国产激情视频在线观看| 久草丁香婷婷1024| 色婷婷AV久久| 色停停影院五月天| 综合玖玖性爱免费视频| 久久人妻高清中文| 97人人干| 99热www| 色五月激情问网站| 久久久免费精彩视频| 六月婷婷激情| 91精品婷婷国产综合| 六月婷婷影院| 五月婷婷婷婷| 六月婷在线| 丁香五月综合福利视频导航| 人妻激情在线| 97操女视频| 激情伊人六| 婷婷久久大香蕉| 亚洲婷婷丁香五月| 婷婷亚洲丁香五月| 99热网站| 激情视频91| 婷婷丁香人妻天天久久| 亚洲性爱AV| 五月婷视频久久| 国产精品人人妻人人爽| 欧美大片| 色狠狠五月天| WWW.婷婷五月天.COM| 激情五月天色色色| 丁香五月综合在线播放 | 怡红院 久久| 日韩精品一品二区三区的使用体验| 五月综合激情啪啪啪啪啪| 久久婷婷五月天激情新地址| 九九大香蕉黄色影院| 韩日AV片| 在线A色| 欧美在线视频99| 99ri在线| 丁香五月婷婷AV| 99在线热视频| 五月天天视频| 婷婷基地成人五月天| 五月丁香亭亭天天舔| 亚洲成av人影院| 最新日本A片| 狠狠色狠狠操| 婷婷导航| 天天爱天天做天天操| 婷综合| 超碰人人射| 五月久久婷婷丁香| 碰碰女| 91精品久久久久久77777| 九九青青草成人| www.久久爱.com| 类似婷婷激情综合网站| 亚洲AVwwwwwww| 狠狠做深爱婷婷久久综合一区| 99热热热天天人人人超超碰| 九九热这里只有精品一| 久草婷婷网 | 97色色色视频| H亚洲| 精品夜夜澡人妻无码AV| 成人片在线播放| 91丨九色丨东北熟女| 婷婷基地爱| Xx色综合| 人妻丰满精品一区二区A片| 天天上天天爽| 在线看片h站| 99思思热只有在这里看| www.99操| 九九亚洲| 亚洲激情四射| 久久丁香| 五月丁香黄色| 五月开心啪啪| 成人久久天天x资源站| 婷婷五月综合啪| 色色综合网。| 色婷婷丁香五月天在线观看| 99久久.www| 日本91在线| 五月色亭丁香| 五月婷婷色色爱| 色色色色网| 五月天综合久久| 综合五月天亚洲婷婷| 91蜜桃婷婷狠狠久久综合9色| 爱草视频在线| 青青999| 成人综合AV| 激情深爱综合| 成人小说色图婷婷五月| 国产无人区大片| 丁香五月天欧洲在线| 久爱综合| 在线观看亚洲视频影院| 激情影院内射| 激情综合激情五月| 激情婷婷六月天| 大狠狠在线| 色五月天丁香婷婷色| 91精品综合久久久久久五月丁香| 五月丁香六月婷婷综合免| 东北熟女视频99| 九九99免费理论| 色综合色综合色综合高潮| 成人 九九九九| 色色五月天婷婷| 99精品无码网站| 五月婷在线影院| 久九男女天堂| 91人妻人人做人碰人人爽九色| 五月婷庭丁香在线| 日亚二欧美| www.色五月| 大香蕉久久久| 热久久视频99| 色五月91| 91久久18| 99热婷婷| 国产精品爽爽久久久久久| 婷婷色5月天在线。| 97资源碰碰在线| seav天堂| 婷婷五月激情综合| 可以免费看AV网站| 天天久久66xxx| 综合超碰熟| 欧美成人一区二区三区在线视频| 久久99久久99精品免观看粉嫩| 五月婷六月天| se99高清无码| 亚洲精品在线视频| 69天堂99| 九九黄色网| 中文字幕在线不卡| 很很干夜夜干| 熟女五月天久久综合| 九九色精品| 五月叮香啪| 99久久综合狠狠综合久久| 色啪网| 51XX午夜影福利| 婷婷六月啪啪| 色综合网综合| 另类色视频| 五月激情综合网| 五月激情六月综合| 婷五月丁香| 色欲人妻综合aaaaaaaa网| jiujiujiuwuyuetian| 亚洲电影中文字幕| 天天激情站| 少妇被下春药玩弄A片| 激情五月六月婷婷| 国产97色在线| 五月婷婷五月天| 丁香五月六月婷婷殴美综合| 奸逼视频| 欧美综合激情五月丁香| 日韩 欧美 国产 一区 二区| 婷婷五月天激情网| YJLZZJLZZ亚洲乱熟无码| 伊人色综合久久久| 婷婷丁香综合| 九九超碰人人| 看逼中文字幕| 日本操B片| 久久38视频| 九月婷婷人人操人人舔人人爱| 国产精产国品一二三在观看| 婷婷五月天小说| 婷婷中文字幕| 国产99久久久国产精品免费看| 99色综合| 九九黄色网| 国产肥白大熟妇BBBB视频| 99热久久日本| 韩国三级五月天婷婷。| 欧美成人网婷婷综合在线| 97激情五月天| 婷婷丁香五月激情中文字幕版| 五月婷婷五月天激情视频| 婷婷丁香五月av| 丁香婷婷五月天校园春色| 五月丁香激情片| 天天爽天天爽天天爽天天爽天天爽天天爽天天 | 五月天丁香| 色情五月婷婷| 久久国产一区二区三区| 国产免费性爱| 久草婷妨| 激情婷婷九月| 九九精品综合| 日本精品在线噜噜噜| 安息电影在线观看完整版| www.婷婷五月天啪啪| 亚洲五月天婷婷综合| 玖玖资源站中文| 99啪啪网| 五月天综合色| 少妇性BBB搡BBB爽爽爽视頻| 另类国产综合| 亚洲色综合| 天天摸.天天mo| 丁香五月大片| 久久66成人网站| 五月婷婷五月天| 91人妻PORNY九色大屁股| 欧美操人| 99热超碰人| 九九精品热播| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 色色色色av777| 亚洲va在线∨a天堂va欧美va| 色色色五月婷| 五月天大香蕉| 久久涩视频| 9l视频自拍9l九色9l成人| 99热 这里只有精品 国产 日韩| 五月天自拍网| 婷婷五月天久久| 久久色区| 99人人爽| 9久久精品| 熟妇无码乱子成人精品| 五月天色色色网| 成人欧美日韩| 久久这里都是精品视频| 婷婷丁香五月婷婷| 色999亚洲人成色| 国内9l视频自拍老熟女九色| 996er热| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 高清a片基地| 97干在线视频| 五月成人综合| 99久久九九| 久久大大香| 99操逼| 亚洲精品激情| 六月丁香五月婷婷| 99ri视频在线观看| 婷婷六月丁香在线| 色婷婷丁香五月在线观看| 久久五月丁香| 激情五月婷婷啪啪| 五月香蕉婷婷| 日韩人妻无码精品| 婷婷五月天性色| 日本3级片偷拍网站| 日本激情五月天‘| 色婷婷狠狠| 久草婷婷视频| 5月丁香婷婷| 日本99在线视频| 久久久精品免费啪啪国| 欧洲99视频在线| 激情五月综合亚洲另类| 亚洲精品一二三| 伊人影音无码一区二区三区| 亚洲va欧美va天堂v国产综合| 夜精品无码A片一区二区蜜桃 | 七七九九色色| 色色色婷婷五月天| 婷婷基地成人五月天| 五月丁香久久综合精品| www.久久99| 啪色综合| 五月婷婷中文字幕| 激情综合色五月丁香| 夜夜爽天天| 色婷婷久久综合| 欧美123区免| 激情五月天色爱| 色色五月天婷婷| 色色色色欧洲| 激情伊人| 伊人久久综合| 欧美丁香五月| 丁香五月六月欧美| 久久婷婷视频| 国产成人av在线播放| 丁香五月成人婷婷| 日日操夜夜操中国无码| 26UUU在线观看| 99在线精品视频| 人人干天天舔| 99只有精品| 色九月婷婷| 97人人干人人操| 亚洲黄色精品| 五月天婷婷基地综合网| 五月丁香综合激情| 26uuu| 丁香六月久久| 欧美在线视频免费播放| 丁香五月www| 91精品综合久久久久久五月丁香| 久久精彩视频18| 亚洲婷婷乱乱丁香| 丁香五月婷婷社区| 天天爽天天摸| a毛片二逼wwwwwwwwww| 婷婷十月激情综合网|