国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成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。庫文件明明裝了頭文件目錄也加進(jìn)-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這種老配置帶進(jìn)來。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ū)間??绱蟀姹緯r差異會放大比如把 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 裝進(jìn)一個干凈前綴到這一步依賴都齊了可以開始編。我強烈建議裝到獨立前綴而不是/usr/local原因很現(xiàn)實cpr 1.3.0 是幾年前的版本你手上可能還有別的工程依賴更高版本的 cpr全都塞進(jìn)/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)建目錄等價于進(jìn)目錄再跑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)物沒有任何貢獻(xià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保證生成的庫能被鏈接進(jìn)動態(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ī)則在某些平臺上不會把它一起裝進(jìn)去于是出現(xiàn)第 1 章開頭那個報錯。如果確實缺了從構(gòu)建目錄里找出來手動補進(jìn)去# 在構(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是否傳進(jìn)去了、前置的 curl 是否也能被找到。第三條經(jīng)常被忽略——cpr 的配置文件里會find_dependency(CURL)如果你把 cpr 裝到了前綴里但 curl 是系統(tǒng)包通常沒問題反過來把 curl 也裝在獨立前綴里卻忘了把那個前綴加進(jìn)搜索路徑就會在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 寫進(jìn)業(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 證書裝進(jìn)系統(tǒng)信任庫或者用cpr::SslOptions指定 CA 路徑而不是關(guān)校驗。這條屬于血淚經(jīng)驗跳過校驗的代碼一旦進(jìn)了主干后面很難再摘出來。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ā)小工具或者塞進(jìn)容器鏡像。代價是體積變大而且必須確保 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)建時生成的頭文件一起裝進(jìn)去具體表現(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或者把前綴寫進(jìn)/etc/ld.so.conf.d/后跑一次ldconfig。千萬別把LD_LIBRARY_PATH寫進(jìn)全局 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
返回資訊列表
无码不卡亚洲成?人片| 欧美黑人精品一区二区| 一二三区在线| 天天综合网91| 97精品国产97久久久久久免费| 0755午夜福利视频| 无码自拍SM| 国产蜜臀在线| 亚洲中文字幕av| 久久久91福利姬| 免费少妇一区二区| 国产盗摄美女如厕大神作品在线观看| 另类小说综合网| 自拍盗摄一区| 国产精品久久久久无码Av网曝门| 国产成人资源| 亚洲精品久久久久毛片A片拉屎| 另类小说五月天| 四虎精品一区| 人妻熟女av国产网站| 综合天天。| 无码人妻丰满热妇又大又粗| 精品少妇高潮久久| 午夜天堂精品久久久久91| 99少妇| 久久99精品视频| 亚洲有薄码区久久在线一区| 九九aV| 精品一区二区三区蜜桃| 欧美精品另类人妖xxxx| 一二三区操逼国产91| 日韩人妻资源网| 亚洲黑人在线| 综合天天网| 中文字幕交换人妻| 俺去啦自拍| 色丁香久久| 欧美亚洲中文| 蜜臀99999| 全免费a敌肛交毛片免费| 97超碰总站| 国产午夜无码片在线观看影视 | 91人妻视频在线| 国产亚洲99久久精品熟| 蜜桃久久精品一区二区三区| 女人被添高潮免费视频| 好吊色青靑草| 97视频620| 中国一级特黄大片护士 | 亚洲色图欧美色18直播在线| 97久久精品亚洲| 欧洲性爱无码区| 97er欧美性| 自慰白浆在线观看| 12一15性XXXX粉嫩国产| 亚洲天天自拍| 久久亚洲人妻| 色综合久久久久| 免费精品无码一级毛片牛牛影视 | 亚洲一区二区 麻豆传媒| 国产亚州精品美女久久久免费| 麻豆色99999| 麻豆精品久久久久久久| 欧美熟女操屄| 欧美超碰在线| 超碰在线1234区| 激情五月婷| 搡老女人911熟妇老熟女| 精品视频久久区| 97九色人妻| 丁香六月激情| 久久一区二区蜜桃| 一级黄碟在线看| 99热婷婷| 午夜AV人气不卡| 日韩天堂av电影在线观看| 思思热在线视频精品| 国产91精品在线免费| 色www精品视频在线观看| 久久久 国产精品| 欧美97爱| 日韩欧美久久婷婷网站| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 五月婷婷hd| 九九碰九九爱97超碰| 欧美特大AA级黄片| 国产精品操| 亚洲伊人青青草| 丝袜综合| 色噜噜综合在线| 国产综合网站在线播放| 久久精品 六十路 熟女 欧美| 国产精品久久久久久久AV大片| 在线强奷到舒服的无码视频| 亚洲日韩国产欧美综合v| 日韩三级伊人| 天堂亚洲精品| 亚洲精品九九九九九九| 加勒比伊人综合| 久久久精品日本一道| 综合久久六月久久婷婷| 久久久久久人妻一区精品色欧美| 少妇久久久久| 欧美综合色,www| 免费成人在线熟妇网| 伊人成人中文字幕久久网| 99在线无码精品秘 入口黑人| 国产又黄又爽| 男人天堂2017| 天天上日日上日韩精品| 蜜臀久久99精品久久久久久无删减 | 啊嗯好大视频在线观看| 久久9精品视频| 久久小视频| 欧美一区二区三区日韩| 偷窥自拍A片| 蜜乳av一区二区| 亚洲 小说 欧美 激情 另类| 人人操人人摸人人骑| 亚洲欧美洲综合| 久9久9久9久9久9久9| 人妻免费观看| 97超碰这里只有精品| 欧美激情欧美精品| 青青草亚洲一区 | 国产一进一出视频网站| 人人干黄色| 免费家庭乱伦视频| 日本性爰一道本| 伦激情人妻另类人妻| 日韩欧美亚洲自拍偷拍| 成年人黄色视频免费| A级片一区| 视频二区美腿丝袜制服人妻欧美| 亚洲第一精品在线视频| 亚洲中文字幕一区| 超碰人人色| 思思热在线cao| 少妇无码av专区线| 中文字幕亚洲热播人妻| 乱伦系列一区二区| 伊人久久婷婷| 久久久亚洲精品电影免费看| 亚洲蜜臀懂色| 亚欧美综合网。| 9999九九九久久久| 久久宗合97| 青青草原av| 人人妻人人澡人人爽人人精品浪潮| 男人综合网| 丁香九月婷婷| 一本久道在线综合视频| 91精品国产高清久久久久久,亚洲成人 | 国产成人bd在线观看| 手机看片1024你懂的国产| www超碰| 超碰久久性爱| 国产欧美后入| 蜜臀久久99精品久久久久久酒店| 九九精品无码专区免费| 日本日皮视频逼| 蜜桃久久综合视频| 亚洲成A∨人影院在线欢看| 色噜噜人妻丝袜a∨先锋影| 在线综合 亚洲 欧美中文字幕| 日本三级一区二区 在线| 97人人操人人摸人人爱| 亚洲欧美精品91| 色爱综合网欧美| 成人一区二区三区四区| 天美91| 中文字幕五区| 久夜操| 丰满人妻一区二区三区| 精品国产91av一区二区三区 | 亚洲免费人妻在| 欧美黄页在线| 亚洲国产亚洲天堂| 一个人免费视频观看在线WWW| 国产AV无码AV| 密臀在线免费观看| 亚洲男人天堂视频| 丝袜美腿欧美| 九九九精品成人免费视频小说| 久操网视频| 99视频自拍| 少妇久久久久久| 人妻献身系列第54部| 妺妺跟我一起洗澡没忍住| 色综合中文字幕不卡| 99国内熟女露脸视频| 老女人综合| 欧美aaaaaaa| 国内91熟女人妻丝袜天天精品视频在线| 国产精品视频播放| 亚洲国产熟妇综合色专区| 亚洲AV性爱电影| 欧美九九爱| 91欧洲入口| 久久久久久亚洲Av无码| 精品免费一区二区三区在线亚洲人成| 友优传媒精品在线一区二区| 91在线丝袜| 影音先锋一区二区在线资源| 韩国一级做a久久久久| 日韩精品永久在线观看| 2019亚洲男人天堂| 伊人久久在线视频观看| 国产日韩精品一区二区三区| 怡红院成人视频| 精品亚洲俞拍视频一区| 亚洲欧洲网站免费观看| 蜜桃视频一区二区三区| 综合伊人激情| 色哟哟-国产专区| 久久午夜神马| 人成午夜免费大片| 九九免费影片| 亚州AV无码国产精品| 操操操操操操| 极品综合| 曰本熟女视频| 青草草免费网站av| 黄网站黄视频网站进入口| 日韩欧无码一区二区三区免费不卡| 婷婷五月综合在线| 无码二级三级| 国产激情综合| 激情小说激情视频| 狠狠色丁香| 国产97av| 视频二区美腿丝袜制服人妻欧美 | 亚洲自拍97| 99性视频| 欧美亚洲丝袜人妻制服中文99| 国产精品亚洲一区二区三区四区| 亚欧美色图| 人成午夜免费大片| 熟女少妇一区二区三区| 色婷婷影院| AV女资源| 97蜜桃综合| 日本孕妇一区二区视频操逼免费看 | 97国产伦理| 高跟丝袜AV专区国产| 精品一区二区久久| 色五月婷婷中文字幕| 亚洲做性| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 国产麻豆一级精品视频| 啊啊啊慢点| 婷婷久久综合| 国产高清视频无码在线| 欧美A√综合网| 操逼视频亚洲| 一二三区精品视频| 中文字幕天天天天天| 欧美亚洲中文| 男人精品天堂一区| 婷婷综合网| 在线亚洲丝袜视频网站| 亚洲视频中文一区| 亚洲AV秘无码一区..| 日本天堂网| 三级激情网站| 亚洲色天堂九9| 五月婷在线| 91色综合| 日韩一级二级三级免费看完整版国语版 | 日本在线激情一区二区三区| 久久九色| 国产精品久久久久久久免牛肉蒲团| 国产日韩欧美亚洲精品95| 人妻熟妇一区二区三区| 97 超碰 人人做 人人爱| 日韩欧美aⅴ综合网站发布| 国产日产欧产美韩系列麻豆免费| 中文字幕高清20页视频 | 人妻9117c| 黑人粗大V S日韩女优视频| 婷婷五月天社区| 十八禁视频一区二区| 综合网亚洲1| 欧美在线官网| 亚洲无码99| 粉嫩av久久一区二区三区| 91老熟女91老女人| 免费看污网站| 日韩在线观看中文字幕视频| 亚洲第一精品在线视频| 青青青在线高清视频在线一二三四区| 美骚妇av高清在线| 激情网五月天| 欧美与日韩97| 亚洲AV免费在线观看| 成人aⅴ一区二区三区| 精品78| 欧美传媒一区| 白丝AV网站| 丁香五月激情综合国产| 色黄污美女啪啪啪免费网站| 日韩97P| 99这里都是精品| 国产四虎在线| 亚洲综合色网| 狠狠色噜噜狠狠狠狠狠色综合久久| 男人天堂网站| 精品人妻一区二区三区四区| 91女优在线观看 | 狠狠操夜夜| 97色97干| 亚洲精品国语在线播放| 色臀AV| 伊人在线大香蕉视频久久| 天色综合网| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 天天看综合网| 激情久久久| 国产欧美日韩精品中文| 午夜亚洲国产理论秋霞| 久久伊人最新网址视频| 97视频在线| 精产品久久| 欧美 日韩第一性色| 美女露胸露屁股| 久久性爱视频免费看| 狠狠搞 亚洲91| 欧美|91色综合| 亚洲国产激情国产av| 人人妻人射| 日逼逼免费看| 一本久道在线综合视频| 国产91乱伦| 日本高清视频xxxx| 极品欧美一区二区三区| 久久久久亚洲熟妇熟女| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 亚洲欧美日韩国产丝袜自拍中文| 日本天天人人狠狠在线日美女| 天天日天天色| 亚洲五月丁香花狠狠干一区二区三区 | 亚洲综合999| 啊啊啊好大好深| 美女91网址 | 激情综合五月| 艹我哪美一区无码| 日本熟妇熟色97一本在线观看| 激情丁香五月| 日本一区二区三区精品| 日韩一级二级在线| 国产成人主播| 艹少妇网站| 中国一级αV| 欧美一级色| 97超碰影音| 五月丁香色情| PMv在线观看| 亚洲精品官网在线观看| 蜜臀久久99精品久久久久久酒店| 啊啊啊啊好疼| 亚洲男人天堂网| 日韩 国产 欧美自拍| 久久精品福利影院| 久久激情亚洲精品无码?V| 中文字幕av亚洲在线| 91neishe| 日日干夜夜操视频h| 极品久久久久久久久久久久久久| 啊啊啊轻点在线观看| 伦理第一页| 精品视频在线观看精品| 午夜亚洲国产理论秋霞| 国产高清成人免费视频| 日本日皮视频逼| 99999这里都精品| 伊人aaa| 国产免a费看黄片在线| av麻豆啪啪| 精品无码一区二区| 97碰久久| 精品无码欧美三级| 十八禁的黄污污免费网站| 在线可观看的黄色网址| 日韩三级一区 | 日韩一级片在线看| 91丨国产丨白浆| 日日噜噜夜夜久久亚洲一区二区| 96久久久久久久| 日韩有码 一区二区三区| 精品人妻一区| 久久久久久久 九九九九九九九| 最新精品久久蜜桃| 天天影视综合色| 日韩电影在线观看网址| 五月丁香综合| 啊啊啊啊操死我了| 久久这里只有精品9| 免费一级性爱久久| 一二三四区电影| 亚洲成人贴图| 婷婷丁香激情| 日韩无码三级影院| 夜夜高潮夜夜爽夜夜爱爱一区| 久久大香蕉手机高清视频| 人妻熟女一区二区| 偷拍片久久| 91情色在线| 十八禁的黄污污免费网站| 欧美亚州手机在线| 国产超碰97| 日韩无码视频黄色| 91人妻人人妻| 久久久青青草| 午夜色婷婷| 欧美色图 人妻| 91久久久久久久久18| 国产成人免费观看在线视频| 综合网亚| 人人操人人摸人人骑| 亚洲Av无码成人精品国产| 2011国产精品| 天天综合,91入口| 高清国产性猛交xxxx乱大交| 99亚亚热| 青青草在线视频播放器| 欧美日韩香蕉| 日韩成人午夜精品久久高潮| 国产97亚洲| 综合操逼| 走光一区92下载| 欧美性爱日韩高清| 性欧美另类高清| 久久久亚洲精品中文字幕人妻| 天天谢天天干| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 久久鲁夜| 成人性爱免费播放| 99激情| 99精品人人爽| 国产久久成人| 成人A片男人的天堂| 午夜男人的天堂| 欧美性巨大╳╳╳╳╳高跟鞋| 啊啊啊不要啊啊受不了了视频在线| 欧美大的香蕉有线电视视频| 亚洲超碰在线| 97久久国产亚洲精品超碰热| 国产aⅴ无码片毛片一级网站| 人妻天天爽夜夜爽精品2| 黄页| 久久精品亚洲婷婷| 色欲av国内精品久久久久久| 亚洲精品 大香蕉| 国产蜜臀精品一区二区尤物| 一区二区三区欧美激情| 超碰69| 成人精品一区二区91毛片不卡| 久久婷婷亚洲欧| 欧美大香蕉久| 色九九九综合| 中文久久爆乳| 久久久精品,3| 骚逼高潮久久精品| 亚洲伊人成综合成人网| 啊好大好舒服| 国产高清午夜成人在线观看| 欧美大香蕉97| 国产欧美精选激情视频| 午夜精品久久999热蜜桃介男人用| 91精品女厕偷拍视频| 色偷偷色偷偷欧美日韩| 午夜男女爽爽爽影院视频| 歐美一級亂黃99在綫精品| 一区二区不卡视| 国产一区二区三区中文字幕| 2024黄色视频| 天天色怡春院| 一区二区三区精品视频| 亚洲第一男人天堂| 首页亚洲国产高跟丝袜诱惑视频| henhen91| 麻豆AV一区二区| 国产精品高清2021在线| 色综合久久夜色精品国产天堂| 强奸国产在线| 骚货 中文字幕 av| 最新欧美色网| 伊人精品久久网站| 日韩欧美蜜桃精品久久中文字幕久久| 激情五月天婷婷| 三级日韩一区二区三区| 精品小视频在线| 人人爱人人操人人性| 欧综合网| 日本99一区二区| 欧美激情性爱视频网站| 大鸡巴久久| 91精品人妻一区二区三区蜜桃臀| 欧美五十路熟| 男人天堂电影院| 伊人91| 人妻激情视频| 国产13区| 91色鬼| 少妇一级婬片免费放一级a性色.| 超碰欧美在线欧美| 婷婷色色网| 亚洲无码精品AV久久久| 亚洲视频一二区| 国产aⅴ无码片毛片一级网站| 亚州五月| 色婷婷综合久久中文字幕雪峰| 老熟女乱子伦中文字幕一区二区| 色悠久久久av| 欧美制服网站美腿丝袜| 日韩亚洲中文有码视频| 十八禁电影伊人网| 亚洲最大黄网| 黑人精品成人一区二区三区| 黑人性欧美| 大香伊人在线一区| 五月天色综合| 性爱免费视频成人| 99re超碰| 俞拍自拍| 大香蕉免| 99精品在线| 欧美黄片免费在线观看视频| 热热色AV| 夜夜騷av、一區二區| 天天肏夜夜肏| 国产精品无套内谢| 永久免费观看的毛片的网站| 97操综合| 97 九色| 欧美人妻精品| 色爱综合网| 你想操日本小逼吗| 亚洲天堂在线怕怕视频| 东北女人性交| 爱妻综合网| 射欧美综合| 亚洲天堂男人在线| 色综合尤物| 国产精品999zyz| 放黄片放3级黄片没穿衣服| 天操天操夜操夜月月年年操操| 日韩三级网址| 精品区9| 亚洲最大成人a毛毛片| 永久免费观看的毛片的网站| 国产白丝AV| 不卡六六在线91| 亚洲极品| 91国精产品| 国产精品经典一卡久久久 | 亚洲一区二区av| 天美传媒av一区二区| 91殴美大片| 99热这里只有精| 亚洲综合网电影91| 国产色精品午夜大片| 在线免费观看高清无码视频| 亚洲欧美另类图片| 另类小说欧美激情校园春色| 日本一卡二区在线| 欧美,日韩,中文,另类| 日韩亚洲97| 精品中文日韩字幕视频| 高跟伊人julia ann| 九九热视频这里只有精品| xxx亚洲午夜天堂| 97精品国产97久久久久久| 五月天婷婷影院| 亚洲av无码成人精品国产| 亚洲情色中文字幕一区| 18禁超污无遮挡无码免费网| 首页中文字幕中文字幕免费| 性做久久久久久久| 天天干天天狼在线视频| AV网站高清无码在线观看| 人人看人人爰人人操| 久久精品—区二区三区内射| 天堂性色| 日本操逼视频免费| 一区二区高清视频| 啊啊啊好想要| 99久久精品欧美国产| 欧美人妻少妇| 国产乱伦搜索结果91P| 97超碰人人模人人拍人人| 东北熟女91| 97色碰| 国产午夜精品理论片一二三区区| 无码动漫av中文字幕| 午夜a成v人电影| 久久久久久人妻一区精品色欧美| 欧美色性爱| 五月婷婷六月丁香| 18精品一区| 久日91在线| 亚洲人精品午夜不卡| 嗯嗯啊啊啊好爽| 国产精品视频内谢女人| 欧美精品三级黄片| 八人操人人摸人人看| 91人妻Pr| 亚洲熟妇无码一区二区三区| 热热色色综合| 久久精品无码专区| 中文字幕国产| 99热在线播放| 性欧美体内射精| 熟妇激情| 欧美精品97| 性开放中文AV高清无码免费看| 东北女人的毛片| 日本三级久| 欧中日成人免费影视| 后入内射蜜桃臀| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 色臀AV| 日本色色色视频| 色婷婷电影网| 好舒服视频| 日本欧美不卡| 高清一区AV无码| 亚洲一区二区麻豆影院| 青青草字幕AV| 色色毛片| 三级三久久线久久99久目本WW| 综合熟女| 青青草伊人久久| 懂色AV网| 69XX一中文字幕人妻91| 91日本在线观看| 欧美97在线观看| 狠狠躁伊人中文字幕| 大香蕉www.超碰| 亚洲精品日日夜夜52| 亚洲精品97在线| 色噜噜人妻av中文字幕| 无码久久亚洲高清,| 国产成人+综合亚洲+天堂| 国产熟女一区二区丰满| 大鸡巴久久| 亚洲熟女精品| 91狠婷| 日本在线15p| 久久久99免费| 日韩一级二级| 欧美性少妇| 国产又黄又爽又刺激久久久久久| 一区三区啪啪| 国产少妇高潮| 亚洲色婷婷久久91| 九九Av| 97精品97久久| 亚洲一区操| 韩日精品四区| 午夜视频久久久| 亚洲制服aⅴ中文字幕| 强奸少妇AV导航网| 亚州综| 8050午夜少妇无码| 色阁阁AV综合网| 亚洲美女av无码| 中日无幕一二三四区| 色悠悠伊人网五月天| 亚欧无码在线| 素人无码中文字幕| 日本人妻中文字幕| 婷婷情色五月天| 在线日韩精品一区二区三区| 国产欧美日韩在线观看麻豆传媒公司 | 麻豆a'v电影| 日韩 欧美 视频 在线 一区| 97在线资源| 99re国产精品视频| 久久少妇人妻| 91强在线播放| 精品午夜福利国产一区二区在线观看 | 九月丁香婷婷| 亚洲综合色图欧美| 九九无码视频| 中文字幕一区二区无码成人| 婷婷五月综合在线| 蜜桃臀av一区二区| 免费a在线播放v| 久久精品无码不卡| www.夜夜操| 国产suv一区二区三区6| 久久XX| 无马一区二区| 情色AV电影| 亚洲性网| 亚洲精品一二三四区| www国产精品| 日韩亚洲美女一区久久| 91啪啪| 精品美女少妇一区二区三区| 一区二区三区亚洲| 91网站在线播放| 成人片在线播放| 欧美性爱一区二区三区| av优播| 日本东京热久久久电影| 无码久| 男女真人网18| 91女色| 久久久久13| 91AV入口| 欧美色日| 99操视频| 91处女在线观看| 97色色色综合网站| 色噜噜精品一区二区三| 国产精品农村妇女精品| 亚洲春色激情小说| 一道α片欧美| 亚洲一区制服诱惑| 丁香五月色| 精品一级毛片在线观看| 超碰97最新人妻| 日韩av电影成人在线| 久久久久一本一区二区青青蜜月| 成人精品一区二区91毛片不卡| 亚洲脚交| 超碰夫妻97| 精品人妻视频一区二区在线播放 | 久操网无码在线| 97射欧美| 久九干| 深夜国产一区二区三区在线看| 欧美精品,四区。五区| 超碰免费人人| 午夜福利1区2区3区| 久久人妻少妇| 91色综| 无码逼| 啊啊啊啊啊啊啊啊在线观看| 玖玖爱一区在线| 欧美亚洲色图另类国产| 特污精品女优骚货黄色视频在线免费观看| 江都AV在线| 天天视频综合在线观看视频| 天天综合网网欲色| 久久风骚城市| 涩爱AV在线| 熟妇在线视频一区二区| 国产女人和拘做爰视频| 亚洲天堂精品日韩电影| 九99久久| 黑人中出21连凳花野真衣| 激情综合色| 精品人妻中文字幕4399| 超碰78| 蜜臀va69| 91欧美丝袜| 九九久久首页| 成年女人黄网站| 久久大黄片| 日韩本不卡视频在线观看| 啊啊啊在线观看免费视频| 伊人久久婷婷| 亚洲无码一区二区三区三州| 超碰免费人妻人人| 成人线上超碰| 久久大香蕉97| 精品无码久久久久| 色噜噜国产在线| 男人的天堂不卡一区二区 | 欧美的性爱网站免费| 另类小说欧美激情校园春色| 白丝在线一区| 操b网站亚洲无码| 久久熟女人| 小情侣高清国产在线视频| 国产久久久| 伊人网在线点播| 曰本特级特黄特色黄色A级网站高清在线免费看 | 中文高清一区二区的| 日韩成人大片在线观看| 日韩激情中文字幕有码| 婷婷丁香九月| 日本三级一区二区 在线| 粉嫩av在线| 后入式五六区| 国产乱青青草久久| 啊啊啊好湿国产一二| 人人妻人人操人人乐| 99精品视频在线观看| 超碰99在线| 超碰人人草| 久久伊人大香蕉| 日韩黄色成人性爱| 亚洲夜夜欢无码一区二区| 性爱乱伦网址| 熟女人妇一区二区三区| 性在久久久久久| 欧美激情性爱视频网站| 欧美综合自拍| 夫妻天天操岛国视频| 九九九九精品精| 国产午夜视频| 麻豆国产成人精品| 亚洲精品天天影视综合网 | 亚洲人成网www| 水野优香在线观看| 亚洲人精| 伊人久久亚洲中文字幕| 国产精品久久久777| 性色国产东北露脸精品视频| 精品久久九| 欧美一区二区三区黄色影视| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 极品美女嘿咻| 日韩97P| 欧美裸体美女日麻屄| 亚洲天堂五月天国产| 久久天天艹| www黄片免费看com| 多毛小伙内射老太婆| 欧美日韩啪啪电影| 三级三级三级a级全黄三| 日韩探花精品在线视频| 色九九综合| 骚货人妻偷情自拍在线视频| 夜夜久久| av 模特一区了| 日本不卡在线二区三区| 91视频精品| 综合免费无码中文| 91干熟女| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | www老逼91| 久久国产精品熟女人妻| 97超碰中文字幕| 91啪啪| 92性色国产午夜福利在线661| 男女激情黄色网址| 1024日韩| 亚洲综合码| 欧美久久久15P| 人人妻天天做天天爽| 欧洲亚洲人妻无码高清久久三区四区| 欧美色999| 日韩黄片视频试看| 五月婷在线| 超碰97色色| 久久东京热成人| 亚洲av性爱电影| 国产精品久久久久久久久AV大片| 操久久久久久| 久久久久久久久久久久欧美日| 传媒在线观看一区二区三区| 日本熟女免费視颖| 色人久久| 日本三级黄页| 情色日播放AV| 人人操人人射人人干| 78操B| 岛国大片国产| 丁香六月啪啪| 97超碰亚洲| 超碰色97| 在线一道啪| 欧美亚洲综合色| 亚洲精品一卡二卡三卡福利视频网站 | 欧洲亚洲人妻无码高清久久三区四区| 欧美精品二区视频在线| 92人人操人人| 中文字幕少妇色 | 亚洲成?V人片在线观看福利| 中文字幕在线观看第二页| 日本精品加勒比海一区| 激情小说图片亚洲首页| 激情文学网伊人| 欧美性综合| 91在线精品一区二区三区| 久久草在线综合视频| 日日夜夜国产综合| 97网色| 欧美成人性爱视频免费观看| 日本一二区免费| 丝袜视频网国产90| 国内精品a| 国产丝袜视频| 亚洲欧美91√| 人人操人人色人人摸| 人人操AV| 蜜桃视频啊啊啊啊| 性色av大全| 美女诱惑1区2区| 久久大香蕉97| 国产美女mm131爽爽爽爽| 夜夜嗨AV蜜臀av| 九九热精品| 久久精品国产96精品亚洲拳交| 97干色天堂| 亚洲动态色图| 色婷婷网| 国产吹潮女在线观看| 午夜精品久久久久久久久久蜜桃| 欧美精品成人亚洲| 欧美性色欧美| 黄色片大香蕉| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 五月天激情网站| 少妇久久久免费| 人人看人人摸人人色| AV丝袜东京热| 中国乱伦一区二区| 欧美色九九九| 国产精品爱欲| 成人综合色网| 啪啪啪综合| 日本人妻A片成人免费看片| 97爱啪| 日本人人操人人操| 九九九精品一区二区无码| 内射小黄片| 蜜臀人妻少妇久久在线观看| 欧美色亚洲| 亚洲 欧美都市激情| 大干人妻| A 天堂在线观看视频| 国产精品2020| 天天影视色香欲综合网小说| 天天干天天日天天射黄色| 精品一区二区三区丰满熟女-亚洲欧美一区| 亚洲免费看片| 一本色道熟妇| 丁香五月天婷婷姐| 国产精品人妻免费精品| 久久av色| 无码精品久久| 中国小夫妻勾搭露脸淫荡对白| 老司机深夜18禁污污网站| 97大色网| 精品人妻一区二区视频| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 青草一区二区| 亚洲男人bt天堂| 美女诱惑久久| 成人精品电影| A片A5445444| 色www精品视频在线观看| 无码操逼网| 亚洲天堂久| 激情久久久| 国产精品懂色tv影视免费观看| 中文乱码99| 嫩草影院性色| 小电影欧美91| 国内黄色精品| 欧美福利视频啊啊啊啊| 手机久操欧美综合色码| 午夜理论片在线观看免费| 久久精品国产97欧美精品亚洲 | 丝袜综合| 少妇高潮对白在线观看| 欧美日韩欧美| 99精品丰满人妻无| 日韩国产乱子伦App| 日韩干B| 日本免费不卡二区| 无码天堂| 男人的天堂久久狠| 久久久久久亚洲精品不卡人乳| 国产精品白领在线观看| 99后入| 日韩精品一区二区三区四虎影视| 国产操逼视频在线观看| 日韩欧美天堂| 国产久久久9999| 国产高清在线观看欧美| 日韩啪啪视频| 九九九九九用不成了| 大地资源在线观看中文第二页| 91欧美色| 午夜精品久久久久久久99热影院| 日本中文字幕在线视频 | 国产树林里野战在线看| 丝袜美腿91| 按摩中文字幕| 性爱综合一区二区| 亚洲人妻久久久| 人人爽夜夜操| 精品高清一区二区三区三州| 日本韩国五十路六十路七十路老熟女作爱视频网站 | AV女资源| 一区二区三区蜜桃成人撸久久东京热 | 9997se| 熟女中出视频| 日韩性爱免费视频在线网站| 亚洲欧美九九九| 啊啊啊啊好疼| 97日视频| 五月婷婷六月色| 伊人网综合在线视频| 啊啊啊啊,啊啊好多水| 99婷婷一区二区| 精品制服美女中文一区二区三区| 五月天婷婷综合网| 91精品国产日韩欧美综合| 亚洲情色综合| 综合大香蕉美。| 日韩ab网| 日韩精品 资源| 久热大香蕉| 免费精品中文字幕| 性猛交| 日本一线产区和二线产区伦理片| 日日夜夜青青草母狗| 欧洲无码一区二区| 韩国一级做A片免费的| 国产高清免费不卡av| 97亚洲综合影院| 婷婷在线视频在线观看| 91青青在线视频| 婷婷三区| 99精品在线播放| 无码精品一区二区三区潘金莲| 国产精品久久久| 97色在线视频| 亚洲亚洲亚洲天堂天堂| 久久精品国产99国产精品亚洲| 天天干天天爽| 免费精品福利在线观看| 美国人人操人人操| 欧美黄色手机在线观看| 97在线免费视频| 97天天在线| 久湿久久| 淫骚熟女一区二区三区| 午夜激情床戏激情| 在线国产探花| 欧美大香蕉专区网| 人人人人插| 男女无套 免费网站| 亚洲人妻在线精品| 人妻少妇无码| 青青草中日韩在线| 超碰69| 天天内射| 亚洲麻豆18发?| 精品国产99| 久插综合| 啊操爽品善一区二区三区| 91色黑人少妇| 日韩在线97| 九九毛片这里只有精品| 国产欧美一区二区| 乱码熟妇人妻久久久| 久久色激情一区二区三区| 91 国产丝袜在线放观看| 色区久久| 91 手机在线播放 绯色| 泰国AV在线观看| 婷婷情色综合网| 天天做天天爱天天爽AV| 国产人妻精品久久久一区二区三区| 久久久啊啊| 干b在线性社区| 亚洲中文电影| 日日骚精品视频| 久久久久9| 午夜精品人妻二区三区| 国产精品电| 五十路熟女,国产欧美精品区一区二区三区 | 欧美日韩亚洲高清不卡一区二区三区| 一道本东京热加勒比一区二区三区| 天天舔九色婷婷| 97玖玖人妻| 91爱做| 99热日| 亚洲另类色综合网站| 精品午夜福利| 美女天天干| 女同女同恋久久级三级| 国产欧美岛国精品一区| 破苞ⅩXXX性无码动漫无码| 天美麻花大全视频| 91久久精品蜜臀| 久久国产视频专区一二三| 97露脸精品丝袜| 怡红院网站在线视频| 久久久9999| 亚洲AV秘无码一区..| 中文字幕成人理论在线| 色五月婷婷色| 97色欧州| 啊啊在线| 久久久久九九九| 欧美性爱中文字幕无线码| 亚洲女毛多水多21P| 涩五月婷婷| 日本精品免费一区二区三区四区| 亚洲drav色图| 天天综合网91| AV污污污污| 五月丁香久久| av一区二区三区四区五区久草臀| 麻豆国产成人精品| 97在线/亚洲| 男女猛烈无遮掩视频免费软件| 国产黄片精品在线| 9色在线| 欧美熟女丝袜| 欧美的精品的视频| 1级黄色夫妻对换性交免费看| 97色在线| 99热精品青草在线| 91亚州日韩高清| 青青欧洲黑| 日韩亚洲欧美中文字幕| 日本三级A片网站com| 欧美性生活综合| 自拍盗摄一区| 欧美日韩精品久久久久东北老熟妇| 日韩欧美加勒比| 午夜福利1区2区3区| 99热欧美| 97视频620| 91bbbbbb| 在线强奷到舒服的无码视频 | 丁香五月天堂网| 和协影院中文字幕三区| 精品美女少妇一区二区| 日本成人在线不卡一区二区三区 | 麻豆九九九| 日韩97超碰| 欧美一区二区日韩三区| 久久色情| 欧美激色| 大香蕉一级黄色片久久| 777奇米影视777四色| 美欧老女人97| 亚州男人天堂| 超碰成人最新最好看| 97在线欧洲| 日韩色图 一区二区| 明星性猛交ⅹxxx乱大交| 久草大| 欧美大片一区二区三区| 97亚洲精品| 人人操人人干网页| 99色天堂| 91男同| 亚洲国产精品久久AV| 人妻嗯啊啊在线播放 | 99精品久久久久久| 国产9 9在线 | 亚洲| 亚洲麻豆精品二区三区| 一二三卡欧美日韩人妻免费精品| 91深夜夜| 欧美少妇一区二区三区| 国产精品久久久久久久久久久久久久| 一个国产在线综合网站|