3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

libcurl教程

發布時間:2025/5/22 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 libcurl教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:http://curl.haxx.se/libcurl/c/libcurl-tutorial.html

??? 譯者:JGood(http://blog.csdn.net/JGood?)

??? 譯者注:這是一篇介紹如何使用libcurl的入門教程。文檔不是逐字逐句按原文翻譯,而是根據筆者對libcurl的理解,參考原文寫成。文中用到的一些例子,可能不是出自原文,而是筆者在學習過程中,寫的一些示例程序(筆者使用的libcurl版本是:7.19.6)。出現在這里主要是為了更好的說明libcurl的某些api函數的使用。許多例子都參考libcurl提供的example代碼。原文example中的提供的示例程序完全使用C語言,而這里筆者提供的例子使用C++語言。因為能力有限,對于libcurl的某些理解和使用可能有誤,歡迎批評指正。

?

目標

??? 本文檔介紹了在應用程序開發過程中,如何正確使用libcurl的基本方式和指導原則。文檔使用C語言來調用libcurl的接口,當然也適用于其他與C語言接近的語言。

??? 文檔主要針對使用libcurl來進行開發的人員。文檔所摜的應用程序泛指你寫的源代碼,這些代碼使用了libcurl進行數據傳輸。

??? 更多關于libcurl的功能和接口信息,可以在相關的主頁上查閱。

編譯源碼

??? 有很多種不同的方式來編譯C語言代碼。這里使用UNIX平臺下的編譯方式。即使你使用的是其他的操作系統,你仍然可以通過閱讀本文檔來獲取許多有用的信息。

編譯

??? 你的編譯器必須知道libcurl頭文件的位置。所以在編譯的時候,你要設置頭文件的包含路徑。可以使用curl-config工具來獲取這方面的信息:

??? $ curl-config –cflags

鏈接

??? 編譯完源碼(這時的源代碼不是指libcurl的源代碼,你是你自己寫的程序代碼)之后,你還必須把目標文件鏈接成單個可執行文件。你要鏈接libcurl庫,以及libcurl所依賴的其他庫,例如OpenSLL庫。當然可能還需要一些其他的操作系統庫。最后你還要設置一些編譯選項,當然可以使用curl-config工具簡化操作:

??? $curl-config –libs

是否使用SSL

??? 定制編譯libcurl。與其他庫不同的是,libcurl可以定制編譯,根據實際需要是否支持某些特性,如是否支持SSL傳輸,像HTTPS和FTPS。如果決定需要支持SSL,必須在編譯時正確的設置。可以使用’curl-config’來判斷libcurl庫是否支持SSL:

??? $ curl-config –feature

autoconf宏

??? 當你編寫配置腳本來檢測libcurl及其相應設置時,你可以使用預定義宏。文檔docs/libcurl/libcurl.m4告訴你如何使用這些宏。

跨平臺的可移植的代碼

??? libcurl的開發人員花費很大的努力,使libcurl盡可能在大多數平臺上正常運行。

全局初始化

??? 應用程序在使用libcurl之前,必須先初始化libcurl。libcurl只需初始化一次。可以使用以下語句進行初始化:

curl_global_init();

??? curl_global_init()接收一個參數,告訴libcurl如何初始化。參數CURL_GLOBAL_ALL?會使libcurl初始化所有的子模塊和一些默認的選項,通常這是一個比較好的默認參數值。還有兩個可選值:

CURL_GLOBAL_WIN32

??? 只能應用于Windows平臺。它告訴libcurl初始化winsock庫。如果winsock庫沒有正確地初始化,應用程序就不能使用socket。在應用程序中,只要初始化一次即可。

CURL_GLOBAL_SSL

??? 如果libcurl在編譯時被設定支持SSL,那么該參數用于初始化相應的SSL庫。同樣,在應用程序中,只要初始化一次即可。

??? libcurl有默認的保護機制,如果在調用curl_easy_perform時它檢測到還沒有通過curl_global_init進行初始化,libcurl會根據當前的運行時環境,自動調用全局初始化函數。但必須清楚的是,讓系統自已初始化不是一個好的選擇。

??? 當應用程序不再使用libcurl的時候,應該調用curl_global_cleanup來釋放相關的資源。

??? 在程序中,應當避免多次調用curl_global_init和curl_global_cleanup。它們只能被調用一次。

libcurl提供的功能

??? 在運行時根據libcurl支持的特性來進行開發,通常比編譯時更好。可以通過調用curl_version_info函數返回的結構體來獲取運行時的具體信息,從而確定當前環境下libcurl支持的一些特性。下面是筆者在visual studio2008中調用相關函數獲取libcurl版本信息的截圖:?
??

使用easy interface

??? 首先介紹libcurl中被稱為easy interface的api函數,所有這些函數都是有相同的前綴:curl_easy 。

??? 當前版本的libcurl也提供了multi interface,關于這些接口的詳細使用,在下面的章節中會有介紹。在使用multi interface之前,你首先應該理解如何使用easy interface。

??? 要使用easy interface,首先必須創建一個easy handle,easy handle用于執行每次操作。基本上,每個線程都應該有自己的easy handle用于數據通信(如果需要的話)。千萬不要在多線程之間共享同一個easy handle。下面的函數用于獲取一個easy handle :

CURL *easy_handle = curl_easy_init();

??? 在easy handle上可以設置屬性和操作(action)。easy handle就像一個邏輯連接,用于接下來要進行的數據傳輸。

??? 使用curl_easy_setopt函數可以設置easy handle的屬性和操作,這些屬性和操作控制libcurl如何與遠程主機進行數據通信。一旦在easy handle中設置了相應的屬性和操作,它們將一直作用該easy handle。也就是說,重復使用easy hanle向遠程主機發出請求,先前設置的屬性仍然生效。

??? easy handle的許多屬性使用字符串(以/0結尾的字節數組)來設置。通過curl_easy_setopt函數設置字符串屬性時,libcurl內部會自動拷貝這些字符串,所以在設置完相關屬性之后,字符串可以直接被釋放掉(如果需要的話)。

??? easy handle最基本、最常用的屬性是URL。你應當通過CURLOPT_URL屬性提供適當的URL:

curl_easy_setopt(easy_handle, CURLOPT_URL, "http://blog.csdn.net/JGood?");

??? 假設你要獲取URL所表示的遠程主機上的資源。你需要寫一段程序用來完成數據傳輸,你可能希望直接保存接收到的數據而不是簡單的在輸出窗口中打印它們。所以,你必須首先寫一個回調函數用來保存接收到的數據。回調函數的原型如下:

size_t write_data(void?*buffer, size_t size, size_t nmemb,?void?*userp);

??? 可以使用下面的語句來注冊回調函數,回調函數將會在接收到數據的時候被調用:

curl_easy_setopt(easy_handle, CURLOPT_WRITEFUNCTION, write_data);

??? 可以給回調函數提供一個自定義參數,libcurl不處理該參數,只是簡單的傳遞:

curl_easy_setopt(easy_handle, CURLOPT_WRITEDATA, &internal_struct);

??? 如果你沒有通過CURLOPT_WRITEFUNCTION屬性給easy handle設置回調函數,libcurl會提供一個默認的回調函數,它只是簡單的將接收到的數據打印到標準輸出。你也可以通過CURLOPT_WRITEDATA屬性給默認回調函數傳遞一個已經打開的文件指針,用于將數據輸出到文件里。

??? 下面是一些平臺相關的注意點。在一些平臺上,libcurl不能直接操作由應用程序打開的文件。所以,如果使用默認的回調函數,同時通過CURLOPT_WRITEDATA屬性給easy handle傳遞一個文件指針,應用程序可能會執行失敗。如果你希望自己的程序能跑在任何系統上,你必須避免出現這種情況。

??? 如果以win32動態連接庫的形式來使用libcurl,在設置CURLOPT_WRITEDATA屬性時,你必須同時?使用CURLOPT_WRITEFUNCTION來注冊回調函數。否則程序會執行失敗(筆者嘗試只傳遞一個打開的文件指針而不顯式設置回調函數,程序并沒有崩潰。可能是我使用的方式不正確。)。

??? 當然,libcurl還支持許多其他的屬性,在接下來的篇幅里,你將會逐步地接觸到它們。調用下面的函數,將執行真正的數據通信:

success = curl_easy_perform(easy_handle);

??? curl_easy_perfrom將連接到遠程主機,執行必要的命令,并接收數據。當接收到數據時,先前設置的回調函數將被調用。libcurl可能一次只接收到1字節的數據,也可能接收到好幾K的數據,libcurl會盡可能多、及時的將數據傳遞給回調函數。回調函數返回接收的數據長度。如果回調函數返回的數據長度與傳遞給它的長度不一致(即返回長度 != size * nmemb),libcurl將會終止操作,并返回一個錯誤代碼。

??? 當數據傳遞結束的時候,curl_easy_perform將返回一個代碼表示操作成功或失敗。如果需要獲取更多有關通信細節的信息,你可以設置CURLOPT_ERRORBUFFER屬性,讓libcurl緩存許多可讀的錯誤信息。

??? easy handle在完成一次數據通信之后可以被重用。這里非常建議你重用一個已經存在的easy handle。如果在完成數據傳輸之后,你創建另一個easy handle來執行其他的數據通信,libcurl在內部會嘗試著重用上一次創建的連接。

??? 對于有些協議,下載文件可能包括許多復雜的子過程:日志記錄、設置傳輸模式、選擇當前文件夾,最后下載文件數據。使用libcurl,你不需要關心這一切,你只需簡單地提供一個URL,libcurl會給你做剩余所有的工作。

??? 下面的這個例子演示了如何獲取網頁源碼,將其保存到本地文件,并同時將獲取的源碼輸出到控制臺上。

/*** @brief libcurl接收到數據時的回調函數** 將接收到的數據保存到本地文件中,同時顯示在控制臺上。** @param [in] buffer 接收到的數據所在緩沖區* @param [in] size 數據長度* @param [in] nmemb 數據片數量* @param [in/out] 用戶自定義指針* @return 獲取的數據長度*/size_t process_data(void *buffer, size_t size, size_t nmemb, void *user_p) {FILE *fp = (FILE *)user_p;size_t return_size = fwrite(buffer, size, nmemb, fp);cout << (char *)buffer << endl; return return_size; }int main(int argc, char **argv) {// 初始化libcurlCURLcode return_code;return_code = curl_global_init(CURL_GLOBAL_WIN32);if (CURLE_OK != return_code){cerr << "init libcurl failed." << endl;return -1;}// 獲取easy handleCURL *easy_handle = curl_easy_init();if (NULL == easy_handle){cerr << "get a easy handle failed." << endl;curl_global_cleanup(); return -1;}FILE *fp = fopen("data.html", "ab+"); // // 設置easy handle屬性curl_easy_setopt(easy_handle, CURLOPT_URL, http://blog.csdn.net/JGood);curl_easy_setopt(easy_handle, CURLOPT_WRITEFUNCTION, &process_data);curl_easy_setopt(easy_handle, CURLOPT_WRITEDATA, fp);// 執行數據請求curl_easy_perform(easy_handle); // 釋放資源fclose(fp);curl_easy_cleanup(easy_handle);curl_global_cleanup();return 0; }

?

多線程問題

??? 首先一個基本原則就是:絕對不應該在線程之間共享同一個libcurl handle,不管是easy handle還是multi handle(將在下文中介紹)。一個線程每次只能使用一個handle。

??? libcurl是線程安全的,但有兩點例外:信號(signals)和SSL/TLS handler。 信號用于超時失效名字解析(timing out name resolves)。libcurl依賴其他的庫來支持SSL/STL,所以用多線程的方式訪問HTTPS或FTPS的URL時,應該滿足這些庫對多線程操作的一些要求。詳細可以參考:

??? OpenSSL:?http://www.openssl.org/docs/crypto/threads.html#DESCRIPTION

??? GnuTLS:?http://www.gnu.org/software/gnutls/manual/html_node/Multi_002dthreaded-applications.html

??? NSS: 宣稱是多線程安全的。

什么時候libcurl無法正常工作

??? 傳輸失敗總是有原因的。你可能錯誤的設置了一些libcurl的屬性或者沒有正確的理解某些屬性的含義,或者是遠程主機返回一些無法被正確解析的內容。

??? 這里有一個黃金法則來處理這些問題:將CURLOPT_VERBOSE屬性設置為1,libcurl會輸出通信過程中的一些細節。如果使用的是http協議,請求頭/響應頭也會被輸出。將CURLOPT_HEADER設為1,這些頭信息將出現在消息的內容中。

??? 當然不可否認的是,libcurl還存在bug。當你在使用libcurl的過程中發現bug時,希望能夠提交給我們,好讓我們能夠修復這些bug。你在提交bug時,請同時提供詳細的信息:通過CURLOPT_VERBOSE屬性跟蹤到的協議信息、libcurl版本、libcurl的客戶代碼、操作系統名稱、版本、編譯器名稱、版本等等。

??? 如果你對相關的協議了解越多,在使用libcurl時,就越不容易犯錯。

上傳數據到遠程站點

??? libcurl提供協議無關的方式進行數據傳輸。所以上傳一個文件到FTP服務器,跟向HTTP服務器提交一個PUT請求的操作方式是類似的:

1. 創建easy handle或者重用先前創建的easy handle。

2. 設置CURLOPT_URL屬性。

3. 編寫回調函數。在執行上傳的時候,libcurl通過回調函數讀取要上傳的數據。(如果要從遠程服務器下載數據,可以通過回調來保存接收到的數據。)回調函數的原型如下:

size_t function(char *bufptr, size_t size, size_t nitems, void *userp);

??? bufptr指針表示緩沖區,用于保存要上傳的數據,size * nitems是緩沖區數據的長度,userp是一個用戶自定義指針,libcurl不對該指針作任何操作,它只是簡單的傳遞該指針。可以使用該指針在應用程序與libcurl之間傳遞信息。

4. 注冊回調函數,設置自定義指針。語法如下:

// 注冊回調函數 curl_easy_setopt(easy_handle, CURLOPT_READFUNCTION, read_function); // 設置自定義指針 curl_easy_setopt(easy_handle, CURLOPT_READDATA, &filedata);

5. 告訴libcurl,執行的是上傳操作。

curl_easy_setopt(easy_handle, CURLOPT_UPLOAD, 1L);

??? 有些協議在沒有預先知道上傳文件大小的情況下,可能無法正確判斷上傳是否結束,所以最好預先使用CURLOPT_INFILESIZE_LARGE屬性:告訴它要上傳文件的大小:

/* in this example, file_size must be an curl_off_t variable */ curl_easy_setopt(easy_handle, CURLOPT_INFILESIZE_LARGE, file_size);

6. 調用curl_easy_perform。

??? 接下來,libcurl將會完成剩下的所有工作。在上傳文件過程中,libcurl會不斷調用先前設置的回調函數,用于將要上傳的數據讀入到緩沖區,并執行上傳。

??? 下面的例子演示如何將文件上傳到FTP服務器。筆者使用的是IIS自帶的FTP服務,同時在FTP上設置了可寫權限。

/*** @brief 讀取數據的回調。*/ size_t read_data(void *buffer, size_t size, size_t nmemb, void *user_p) {return fread(buffer, size, nmemb, (FILE *)user_p); }int main(int argc, char **argv) {// 初始化libcurlCURLcode code;code = curl_global_init(CURL_GLOBAL_WIN32);if (code != CURLE_OK){cerr << "init libcurl failed." << endl;return -1;}FILE *fp = fopen("a.html", "rb");if (NULL == fp){cout << "can't open file." << endl;curl_global_cleanup();return -1;}// 獲取文件大小fseek(fp, 0, 2);int file_size = ftell(fp);rewind(fp);// 獲取easy handleCURL *easy_handle = NULL;easy_handle = curl_easy_init();if (NULL == easy_handle){cerr << "get a easy handle failed." << endl;fclose(fp);curl_global_cleanup();return -1;}// 設置eash handle屬性curl_easy_setopt(easy_handle, CURLOPT_URL, ftp://127.0.0.1/upload.html);curl_easy_setopt(easy_handle, CURLOPT_UPLOAD, 1L);curl_easy_setopt(easy_handle, CURLOPT_READFUNCTION, &read_data);curl_easy_setopt(easy_handle, CURLOPT_READDATA, fp);curl_easy_setopt(easy_handle, CURLOPT_INFILESIZE_LARGE, file_size);// 執行上傳操作code = curl_easy_perform(easy_handle);if (code == CURLE_OK){cout << "upload successfully." << endl;}// 釋放資源fclose(fp);curl_easy_cleanup(easy_handle);curl_global_cleanup();return 0; }

?

關于密碼

??? 客戶端向服務器發送請求時,許多協議都要求提供用戶名與密碼。libcurl提供了多種方式來設置它們。

??? 一些協議支持在URL中直接指定用戶名和密碼,類似于: protocol://user:password@example.com/path/。libcurl能正確的識別這種URL中的用戶名與密碼并執行相應的操作。如果你提供的用戶名和密碼中有特殊字符,首先應該對其進行URL編碼。

??? 也可以通過CURLOPT_USERPWD屬性來設置用戶名與密碼。參數是格式如 “user:password ”的字符串:

curl_easy_setopt(easy_handle, CURLOPT_USERPWD, "user_name:password");

??? (下面這幾段文字我理解地模模糊糊)有時候在訪問代理服務器的時候,可能時時要求提供用戶名和密碼進行用戶身份驗證。這種情況下,libcurl提供了另一個屬性CURLOPT_PROXYUSERPWD:

curl_easy_setopt(easy_handle, CURLOPT_PROXYUSERPWD, "user_name:password");

??? 在UNIX平臺下,訪問FTP的用戶名和密碼可能會被保存在$HOME/.netrc文件中。libcurl支持直接從這個文件中獲取用戶名與密碼:

curl_easy_setopt(easy_handle, CURLOPT_NETRC, 1L);

??? 在使用SSL時,可能需要提供一個私鑰用于數據安全傳輸,通過CURLOPT_KEYPASSWD來設置私鑰:

curl_easy_setopt(easy_handle, CURLOPT_KEYPASSWD, "keypassword");

?

HTTP驗證

??? 上一章介紹了如何在libcurl中,對需要身份驗證的URL設置用戶名與密碼。在使用HTTP協議時,客戶端有很多種方式向服務器提供驗證信息。默認的HTTP驗證方法是"Basic”,它將用戶名與密碼以明文的方式、經Base64編碼后保存在HTTP請求頭中,發往服務器。當然這不太安全。

??? 當前版本的libcurl支持的驗證方法有:basic, Digest, NTLM, Negotiate, GSS-Negotiate and SPNEGO。(譯者感嘆:搞Web這么多年,盡然不知道這些Http的驗證方式,實在慚愧。)可以通過CURLOPT_HTTPAUTH屬性來設置具體的驗證方式:

curl_easy_setopt(easy_handle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);

??? 向代理服務器發送驗證信息時,可以通過CURLOPT_PROXYAUTH設置驗證方式:

curl_easy_setopt(easy_handle, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);

??? 也可以同時設置多種驗證方式(通過按位與), 使用‘CURLAUTH_ANY‘將允許libcurl可以選擇任何它所支持的驗證方式。通過CURLOPT_HTTPAUTH或CURLOPT_PROXYAUTH屬性設置的多種驗證方式,libcurl會在運行時選擇一種它認為是最好的方式與服務器通信:

curl_easy_setopt(easy_handle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST|CURLAUTH_BASIC); // curl_easy_setopt(easy_handle, CURLOPT_HTTPAUTH, CURLAUTH_ANY);

?

HTTP Post

??? 這一章介紹如何使用libcurl以Post方式向HTTP服務器提交數據。

??? 方法一,也是最簡單的方式,就像html中使用<form>標簽提交數據一樣,只需向libcurl提供一個包含數據的字符串即可。下面是筆者學習過程中的一個demo程序:

int main(int argc, char **argv) {code = curl_global_init(CURL_GLOBAL_WIN32);CURL *easy_handle = curl_easy_init();curl_easy_setopt(easy_handle, CURLOPT_URL, http://localhost:2210/Default.aspx);// 單個域postcurl_easy_setopt(easy_handle, CURLOPT_POSTFIELDS, "name=jgood&address=hangzhou");code = curl_easy_perform(easy_handle);curl_easy_cleanup(easy_handle);curl_global_cleanup();return 0; }

??? 在asp.net Web服務器上跟蹤調試,得到客戶程序提交上來的數據,下面是截圖:

??? 上面的代碼夠簡單吧~_~ 有時候,我們需要提交一些二進制數據到HTTP服務器,使用方法一就不行了,因為方法一中實際提交的是一個字符串,字符串遇到/0就表示結束了。所以在上傳二進制數據的時候,必須明確的告訴libcurl要提交的數據的長度。在上傳二進制數據的時候,還應該設置提交的Content-Type頭信息。下面的示例代碼:

int main(int argc, char **argv) {curl_global_init(CURL_GLOBAL_WIN32);CURL *easy_handle = curl_easy_init();// 上傳二進制數據char data[] = { 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0 };curl_slist *http_headers = NULL;http_headers = curl_slist_append(http_headers, "Content-Type: text/xml");curl_easy_setopt(easy_handle, CURLOPT_HTTPHEADER, http_headers);curl_easy_setopt(easy_handle, CURLOPT_URL, http://localhost:2210/Default.aspx);curl_easy_setopt(easy_handle, CURLOPT_POSTFIELDS, data);curl_easy_setopt(easy_handle, CURLOPT_POSTFIELDSIZE, sizeof(data));curl_easy_perform(easy_handle);curl_slist_free_all(http_headers);curl_easy_cleanup(easy_handle);curl_global_cleanup();return 0; }

??? 在asp.net Web服務器上跟蹤調試,得到客戶程序提交上來的二進制數據,下面是截圖:

???? 上面介紹的兩種方式,可以完成大部分的HTTP POST操作。但上面的兩種方式都不支持multi-part formposts。Multi-part formposts被認為是提交二進制數據(或大量數據)的更好方法,可以在RFC1867, RFC2388中找到他們的定義。何為Multi-part?其實,就我理解,就是在Post提交的時候,有不同的數據單元,每個單元有自己的名稱與內容,內容可以是文本的,也可以是二進制的。同時,每個數據單元都可以有自己的消息頭,MIME類型,這些數據單元組成一個鏈表,提交到HTTP服務器。libcurl提供了方便的api用于支持multi-part formposts。使用curl_formadd函數,可以添加不同的數據數據單元,然后提交到服務器。下面是一個multi-part formposts的例子(更詳細的使用,請參考:http://curl.haxx.se/libcurl/c/curl_formadd.html?):

int main() {

?????????????? curl_global_init(CURL_GLOBAL_WIN32);?
?????????????? CURL *easy_handle = curl_easy_init();

// 使用multi-parts form postcurl_easy_setopt(easy_handle, CURLOPT_URL, http://localhost:2210/Default.aspx);curl_httppost *post = NULL;curl_httppost *last = NULL; // 文本數據curl_formadd(&post, &last, CURLFORM_COPYNAME, "name", CURLFORM_COPYCONTENTS, "JGood", CURLFORM_END);curl_formadd(&post, &last, CURLFORM_COPYNAME, "address", CURLFORM_COPYCONTENTS, "HangZhou", CURLFORM_END);// 文本文件中的數據curl_formadd(&post, &last, CURLFORM_COPYNAME, "file", CURLFORM_FILECONTENT, "ReadMe.txt", CURLFORM_END);curl_easy_setopt(easy_handle, CURLOPT_HTTPPOST, post);curl_easy_perform(easy_handle);curl_formfree(post);curl_easy_cleanup(easy_handle);curl_global_cleanup();return 0; }

???? 最后要說明的是,所有在easy handle上設置的屬性都是”sticky”的,什么意思?就是說在easy handle上設置的屬性都將被保存,即使執行完curl_easy_perform之后,這些屬性值仍然存在。通過將CURLOPT_HTTPGET設為1可以使easy handle回到最原始的狀態:

curl_easy_setopt(easy_handle, CURLOPT_HTTPGET, 1L);

?

顯示進度

??? libcurl支持通信過程中的進度控制。通過將CURLOPT_NOPROCESS設置為0開啟進度支持。該選項默認值為1。對大多數應用程序,我們需要提供一個進度顯示回調。libcurl會不定期的將當前傳輸的進度通過回調函數告訴你的程序。回調函數的原型如下:

int progress_callback(void *clientp, double dltotal, double dlnow, double ultotal, double ulnow);

??? 通過CURLOPT_PROGRESSFUNCTION注冊該回調函數。參數clientp是一個用戶自定義指針,應用程序通過CURLOPT_PROCESSDATA屬性將該自定義指定傳遞給libcurl。libcurl對該參數不作任何處理,只是簡單將其傳遞給回調函數。

在C++中使用libcurl

??? 在C++中使用libcurl跟在C語言中沒有任何區別,只有一個地方要注意:回調函數不能是類的非靜態成員函數。例如:

class AClass { static size_t write_data(void *ptr, size_t size, size_t nmemb, void *ourpointer) { /* do what you want with the data */} }

?

代理

??? 什么是代理?Merrian-Webster的解釋是:一個通過驗證的用戶扮演另一個用戶。今天,代理已經被廣泛的使用。許多公司提供網絡代理服務器,允許員工的網絡客戶端訪問、下載文件。代理服務器處理這些用戶的請求。

??? libcurl支持SOCKS和HTTP代理。使用代理,libcurl會把用戶輸入的URL提交給代理服務器,而不是直接根據URL去訪問遠程資源。

??? 當前版本的libcurl并不支持SOCKS代理的所有功能。

??? 對于HTTP代理來說,即使請求的URL不是一個合法的HTTP URL(比方你提供了一個ftp的url),它仍然會先被提交到HTTP代理。

代理選項

??? CURLOPT_PROXY屬性用于設置libcurl使用的代理服務器地址:

curl_easy_setopt(easy_handle, CURLOPT_PROXY, "proxy-host.com:8080");

??? 可以把主機名與端口號分開設置:

curl_easy_setopt(easy_handle, CURLOPT_PROXY, "proxy-host.com"); curl_easy_setopt(easy_handle, CURLOPT_PROXYPORT, "8080"); // 端口號是用字符串還是整數??

??? 有些代理服務器要求用戶通過驗證之后才允許接受其請求,此時應該先提供驗證信息:

curl_easy_setopt(easy_handle, CURLOPT_PROXYUSERPWD, "user:password");

??? 還要告訴libcurl使用的代理類型(如果沒有提供,libcurl會認為是HTTP代理):

curl_easy_setopt(easy_handle, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
?
環境變量

???? 對于有些協議,libcurl會自動檢測并使用一些環境變量,并根據這些環境變量來確定要使用的代理服務器。這些環境變量的名稱格式一般是"[protocol]_proxy"(注意小寫)。例如輸入一個HTTP的URL,那么名稱為"http_proxy"的環境變量就會被檢測是否存在,如果存在,libcurl會使用該環境變量指定的代理。相同的規則也適用于FTP。

??? 這些環境變量的值的格式必須是這樣的:"[protocol://][user:password@]machine[:port]"。libcurl會忽略掉[protocol://],如果沒有提供端口號,libcurl使用該協議的默認端口。?

??? 有兩個比較特殊的環境變量:'all_proxy'與'no_proxy'。如果一個URL所對應的協議,它的環境變量沒有設置,那么'all_proxy'指定的代理將被使用。'no_proxy'則指定了一個不應被使用的代理主機的列表。例如:no_proxy的值是'192.168.1.10',即使存在http_proxy,它的值也是'192.168.1.10','192.168.1.10'也不會被作為代理。no_proxy=”*”表示不允許使用任何代理。

??? 顯式地將CURLOPT_PROXY屬性設置為空,可以禁止libcurl檢查并使用環境變量來使用代理。

SSL和代理

??? SSL為點到點通信提供安全保障。它包含一些強壯的加密措施和其他安全檢測,這使得上面講到的代理方式不適用于SSL。除非代理服務器提供專用通道,對進出該代理服務器的數據不作任何檢測或禁止。通過HTTP代理服務器打開SSL連接,意味著代理服務器要直接連接到目標主機的指定端口。因為代理服務器對在專用通道上傳輸的數據的類型毫無所知,所以它往往會使某些機制失效,如緩存機制。許多組織只允許在443端口上創建這種類型的數據通道。

代理通道(Tunneling Through Proxy)

??? 正如上面講到的,要使SSL工作必須在代理服務器創建專用數據通道,通常專用通道只被限制應用于HTTPS。通過HTTP代理在應用程序與目標之間創建一個專用數據通道,應該預防在該專有通道上執行非HTTP的操作,如進行FTP上傳或執行FTP命令。代理服務器管理員應該禁止非法的操作。

??? 通過CURLOPT_HTTPPROXYTUNNEL屬性來告訴libcurl使用代理通道:

curl_easy_setopt(easy_handle, CURLOPT_HTTPPROXYTUNNEL, 1L);

???? 有時候你想通過代理通道執行平常的HTTP操作,而實際上卻可能使你不經過代理服務器而直接與遠程主機進行交互。libcurl不會代替這種新引入的行為。

自動配置代理

??? 許多瀏覽器支持自動配置代理,例如NetScape。libcurl并不支持這些。

持久化的好處(Persistence Is The Way to Happiness)

??? 當需要發送多次請求時,應該重復使用easy handle。

??? 每次執行完curl_easy_perform,licurl會繼續保持與服務器的連接。接下來的請求可以使用這個連接而不必創建新的連接(如果目標主機是同一個的話)。這樣可以減少網絡開銷。?
??? 即使連接被釋放了,libcurl也會緩存這些連接的會話信息,這樣下次再連接到目標主機上時,就可以使用這些信息,從而減少重新連接所需的時間。

??? FTP連接可能會被保存較長的時間。因為客戶端要與FTP服務器進行頻繁的命令交互。對于有訪問人數上限的FTP服務器,保持一個長連接,可以使你不需要排除等待,就直接可以與FTP服務器通信。

??? libcurl會緩存DNS的解析結果。

??? 在今后的libcurl版本中,還會添加一些特性來提高數據通信的效率。?
??? 每個easy handle都會保存最近使用的幾個連接,以備重用。默認是5個。可以通過CURLOPT_MAXCONNECTS屬性來設置保存連接的數量。

??? 如果你不想重用連接,將CURLOPT_FRESH_CONNECT屬性設置為1。這樣每次提交請求時,libcurl都會先關閉以前創建的連接,然后重新創建一個新的連接。也可以將CURLOPT_FORBID_REUSE設置為1,這樣每次執行完請求,連接就會馬上關閉。

libcurl使用的HTTP消息頭

???? 當使用libcurl發送http請求時,它會自動添加一些http頭。我們可以通過CURLOPT_HTTPHEADER屬性手動替換、添加或刪除相應的HTTP消息頭。

Host

??? http1.1(大部分http1.0)版本都要求客戶端請求提供這個信息頭。

Pragma

??? "no-cache"。表示不要緩沖數據。

Accept

??? "*/*"。表示允許接收任何類型的數據。

Expect

??? 以POST的方式向HTTP服務器提交請求時,libcurl會設置該消息頭為"100-continue",它要求服務器在正式處理該請求之前,返回一個"OK"消息。如果POST的數據很小,libcurl可能不會設置該消息頭。

自定義選項

??? 當前越來越多的協議都構建在HTTP協議之上(如:soap),這主要歸功于HTTP的可靠性,以及被廣泛使用的代理支持(可以穿透大部分防火墻)。 這些協議的使用方式與傳統HTTP可能有很大的不同。對此,libcurl作了很好的支持。

自定義請求方式(CustomRequest)

??? HTTP支持GET, HEAD或者POST提交請求。可以設置CURLOPT_CUSTOMREQUEST來設置自定義的請求方式,libcurl默認以GET方式提交請求:

curl_easy_setopt(easy_handle, CURLOPT_CUSTOMREQUEST, "MYOWNREQUEST");
?
修改消息頭

??? HTTP協議提供了消息頭,請求消息頭用于告訴服務器如何處理請求;響應消息頭則告訴瀏覽器如何處理接收到的數據。在libcurl中,你可以自由的添加這些消息頭:

struct curl_slist *headers=NULL; /* init to NULL is important */ headers = curl_slist_append(headers, "Hey-server-hey: how are you?"); headers = curl_slist_append(headers, "X-silly-content: yes"); /* pass our list of custom made headers */ curl_easy_setopt(easyhandle, CURLOPT_HTTPHEADER, headers); curl_easy_perform(easyhandle); /* transfer http */ curl_slist_free_all(headers); /* free the header list */

??? 對于已經存在的消息頭,可以重新設置它的值:

headers = curl_slist_append(headers, "Accept: Agent-007"); headers = curl_slist_append(headers, "Host: munged.host.line");
?
刪除消息頭

??? 對于一個已經存在的消息頭,設置它的內容為空,libcurl在發送請求時就不會同時提交該消息頭:

headers = curl_slist_append(headers, "Accept:");

?

強制分塊傳輸(Enforcing chunked transfer-encoding)

??? (這段文字理解可能有誤碼)以非GET的方式提交HTTP請求時,如果設置了自定義的消息頭”Transfer-Encoding:chunked”,libcurl會分塊提交數據,即使要上傳的數據量已經知道。在上傳數據大小未知的情況下,libcurl自動采用分塊上傳數據。(譯者注:非GET方式提交請求,提交的數據量往往比較大。)

HTTP版本

??? 每一次http請求,都包含一個表示當前使用http版本的消息頭。libcurl默認使用HTTP 1.1。可以通過CURLOPT_HTTP_VERSION屬性來設置具體的版本號:

curl_easy_setopt(easy_handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);

?

FTP自定義命令

??? 并不是所以的協議都像HTTP那樣,通過消息頭來告訴服務器如何處理請求。對于FTP,你就要使用另外的方式來處理。

??? 發送自定義的命令到ftp服務器,意味著你發送的命令必須是能被ftp服務器理解的命令(FTP協議中定義的命令,參考rfc959)。

??? 下面是一個簡單的例子,在文件傳輸操作操作之前刪除指定文件:

headers = curl_slist_append(headers, "DELE file-to-remove"); /* pass the list of custom commands to the handle */curl_easy_setopt(easyhandle, CURLOPT_QUOTE, headers); // curl_easy_setopt(easyhandle, CURLOPT_POSTQUOTE, headers); // 在數據傳輸之后操行刪除操作 curl_easy_perform(easyhandle); /* transfer ftp data! */ curl_slist_free_all(headers); /* free the header list */

??? FTP服務器執行命令的順序,同這些命令被添加到列表中順序是一致的。發往服務器的命令列表中,只要有一個命令執行失敗,ftp服務器就會返回一個錯誤代碼,此時libcurl將直接返回CURLE_QUOTE_ERROR,不再執行剩余的FTP命令。

??? 將CURLOPT_HEADER設置為1,libcurl獲取目標文件的信息,并以HTTP消息頭的樣式來輸出消息頭。

FTP自定義CUSTOMREQUEST

??? 使用CURLOPT_CUSTOMREQUEST屬性,可以向FTP服務器發送命令。"NLST"是ftp默認的列出文件列表的命令。 下面的代碼用于列出FTP服務器上的文件列表:

int main(int argc, char **argv) {curl_global_init(CURL_GLOBAL_WIN32);CURL *easy_handle = curl_easy_init();curl_easy_setopt(easy_handle, CURLOPT_URL, "ftp://127.0.0.1/");curl_easy_setopt(easy_handle, CURLOPT_CUSTOMREQUEST, "NLST"); curl_easy_perform(easy_handle);curl_easy_cleanup(easy_handle);curl_global_cleanup();return 0; }

?

Cookies Without Chocolate Chips

???? cookie是一個鍵值對的集合,HTTP服務器發給客戶端的cookie,客戶端提交請求的時候,也會將cookie發送到服務器。服務器可以根據cookie來跟蹤用戶的會話信息。cookie有過期時間,超時后cookie就會失效。cookie有域名和路徑限制,cookie只能發給指定域名和路徑的HTTP服務器。

??? cookie以消息頭”Set-Cookie”的形式從HTTP服務器發送到客戶端;客戶端發以消息頭”Cookie”的形式將Cookie提交到HTTP服務器。為了對這些東西有個直觀的概念,下圖是FireFox中,使用Firebug跟蹤到的cookie消息頭:?
?

??? 在libcurl中,可以通過CURLOPT_COOKIE屬性來設置發往服務器的cookie:

curl_easy_setopt(easy_handle, CURLOPT_COOKIE, "name1=var1; name2=var2;");

??? 下面的例子演示了如何使用libcurl發送cookie信息給HTTP服務器,代碼非常的簡單:

int main(int argc, char **argv) {curl_global_init(CURL_GLOBAL_WIN32);CURL *easy_handle = curl_easy_init();curl_easy_setopt(easy_handle, CURLOPT_URL, http://localhost:2210/Default.aspx);curl_easy_setopt(easy_handle, CURLOPT_COOKIE, "name=JGood; address=HangZhou");curl_easy_perform(easy_handle);curl_easy_cleanup(easy_handle);curl_global_cleanup();return 0; }

??? 下圖是在ASP.NET Web服務器上調試時跟蹤到的Cookie數據:

???? 在實在的應用場景中,你可能需要保存服務器發送給你的cookie,并在接下來的請求中,把這些cookie一并發往服務器。所以,可以把上次從服務器收到的所有響應頭信息保存到文本文件中,當下次需要向服務器發送請求時,通過CURLOPT_COOKIEFILE屬性告訴libcurl從該文件中讀取cookie信息。?
??? 設置CURLOPT_COOKIEFILE屬性意味著激活libcurl的cookie parser。在cookie parser被激活之前,libcurl忽略所以之前接收到的cookie信息。cookie parser被激活之后,cookie信息將被保存內存中,在接下來的請求中,libcurl會自動將這些cookie信息添加到消息頭里,你的應用程序不需要做任何事件。大多數情況下,這已經足夠了。需要注意的是,通過CURLOPT_COOKIEFILE屬性來激活cookie parser,給CURLOPT_COOKIEFILE屬性設置的一個保存cookie信息的文本文件路徑,可能并不需要在磁盤上物理存在。?
??? 如果你需要使用NetScape或者FireFox瀏覽器的cookie文件,你只要用這些瀏覽器的cookie文件的路徑來初始化CURLOPT_COOKIEFILE屬性,libcurl會自動分析cookie文件,并在接下來的請求過程中使用這些cookie信息。?
??? libcurl甚至能夠把接收到的cookie信息保存成能被Netscape/Mozilla的瀏覽器所識別的cookie文件。通過把這些稱為cookie-jar。通過設置CURLOPT_COOKIEJAR選項,在調用curl_easy_cleanup釋放easy handle的時候,所有的這些cookie信息都會保存到cookie-jar文件中。這就使得cookie信息能在不同的easy handle甚至在瀏覽器之間實現共享。

FTP Peculiarities We Need

??? 在使用FTP協議進行數據傳輸的時候,需要創建兩個連接。第一個連接用于傳輸控制命令,另一個連接用于傳輸數據。(關于FTP的通信過程,請參考這篇文章:http://www.wangjia.net/bo-blog/post/698/)。?FTP通信需要創建兩個連接這個事實往往被很多人忽略。根據第二個連接的發起方是誰,可以分為主動模式與被動模式。libcurl對此都提供了支持。libcurl默認使用被動模式,因為被動模式可以方便的穿透防火墻,NAT等問題。在被動模式下,libcurl要求ftp服務器打開一個新的端口監聽,然后libcurl連接該端口用于數據傳輸。如果使用主動模式,程序必須告訴FTP服務器你監聽的IP與端口,通過設置CURLOPT_FTPPORT屬性來完成。

Headers Equal Fun

??? (這段文字我理解的很模糊,請讀者參考原文)有些協議提供獨立于正常數據的 消息頭、meta-data。正常的數據流里通常不包括 信息頭和元數據。可以將CURLOPT_HEADER設置為1,使信息頭、元數據也能出現在數據流中。libcurl的強大之處在于,它能夠從數據流中解析出消息頭,….

Post Transfer Information

[ curl_easy_getinfo ]

安全考慮

??? 請參考原文,此處略。

使用multi interface同時進行多項傳輸

???? 上面介紹的easy interface以同步的方式進行數據傳輸,curl_easy_perform會一直阻塞到數據傳輸完畢后返回,且一次操作只能發送一次請求,如果要同時發送多個請求,必須使用多線程。?
??? 而multi interface以一種簡單的、非阻塞的方式進行傳輸,它允許在一個線程中,同時提交多個相同類型的請求。 在使用multi interface之前,你應該掌握easy interface的基本使用。因為multi interface是建立在easy interface基礎之上的,它只是簡單的將多個easy handler添加到一個multi stack,而后同時傳輸而已。?
??? 使用multi interface很簡單,首先使用curl_multi_init()函數創建一個multi handler,然后使用curl_easy_init()創建一個或多個easy handler,并按照上面幾章介紹的接口正常的設置相關的屬性,然后通過curl_multi_add_handler將這些easy handler添加到multi handler,最后調用curl_multi_perform進行數據傳輸。?
??? curl_multi_perform是異步的、非阻塞的函數。如果它返回CURLM_CALL_MULTI_PERFORM,表示數據通信正在進行。

??? 通過select()來操作multi interface將會使工作變得簡單(譯者注:其實每個easy handler在低層就是一個socket,通過select()來管理這些socket,在有數據可讀/可寫/異常的時候,通知應用程序)。在調用select()函數之前,應該使用curl_multi_fdset來初始化fd_set變量。

???? select()函數返回時,說明受管理的低層socket可以操作相應的操作(接收數據或發送數據,或者連接已經斷開),此時應該馬上調用curl_multi_perform,libcurl將會執行相應操作。使用select()時,應該設置一個較短的超時時間。在調用select()之前,造成不要忘記通過curl_multi_fdset來初始化fd_set,因為每次操作,fd_set中的文件描述符可能都不一樣。

??? 如果你想中止multi stack中某一個easy handle的數據通信,可以調用curl_multi_remove_handle函數將其從multi stack中取出。千萬另忘記釋放掉easy handle(通過curl_easy_cleanup()函數)。

??? 當multi stack中的一個eash handle完成數據傳輸的時候,同時運行的傳輸任務數量就會減少一個。當數量降到0的時候,說明所有的數據傳輸已經完成。

??? curl_multi_info_read用于獲取當前已經完成的傳輸任務信息,它返回每一個easy handle的CURLcode狀態碼。可以根據這個狀態碼來判斷每個easy handle傳輸是否成功。

??? 下面的例子,演示了如何使用multi interface進行網頁抓取:

int main(int argc, char **argv) {// 初始化curl_global_init(CURL_GLOBAL_WIN32);CURLM *multi_handle = NULL;CURL *easy_handle1 = NULL;CURL *easy_handle2 = NULL;extern size_t save_sina_page(void *buffer, size_t size, size_t count, void *user_p);extern size_t save_sohu_page(void *buffer, size_t size, size_t count, void *user_p);FILE *fp_sina = fopen("sina.html", "ab+");FILE *fp_sohu = fopen("sohu.html", "ab+");multi_handle = curl_multi_init();// 設置easy handleeasy_handle1 = curl_easy_init();curl_easy_setopt(easy_handle1, CURLOPT_URL, "http://www.sina.com.cn");curl_easy_setopt(easy_handle1, CURLOPT_WRITEFUNCTION, &save_sina_page);curl_easy_setopt(easy_handle1, CURLOPT_WRITEDATA, fp_sina);easy_handle2 = curl_easy_init();curl_easy_setopt(easy_handle2, CURLOPT_URL, "http://www.sohu.com");curl_easy_setopt(easy_handle2, CURLOPT_WRITEFUNCTION, &save_sohu_page);curl_easy_setopt(easy_handle2, CURLOPT_WRITEDATA, fp_sohu);// 添加到multi stackcurl_multi_add_handle(multi_handle, easy_handle1);curl_multi_add_handle(multi_handle, easy_handle2);// int running_handle_count;while (CURLM_CALL_MULTI_PERFORM == curl_multi_perform(multi_handle, &running_handle_count)){cout << running_handle_count << endl;}while (running_handle_count){timeval tv;tv.tv_sec = 1;tv.tv_usec = 0;int max_fd;fd_set fd_read;fd_set fd_write;fd_set fd_except;FD_ZERO(&fd_read);FD_ZERO(&fd_write);FD_ZERO(&fd_except);curl_multi_fdset(multi_handle, &fd_read, &fd_write, &fd_except, &max_fd);int return_code = select(max_fd + 1, &fd_read, &fd_write, &fd_except, &tv);if (SOCKET_ERROR == return_code){cerr << "select error." << endl;break;}else{while (CURLM_CALL_MULTI_PERFORM == curl_multi_perform(multi_handle, &running_handle_count)){cout << running_handle_count << endl;}}}// 釋放資源fclose(fp_sina);fclose(fp_sohu);curl_easy_cleanup(easy_handle1);curl_easy_cleanup(easy_handle2);curl_multi_cleanup(multi_handle);curl_global_cleanup();return 0; }size_t save_sina_page(void *buffer, size_t size, size_t count, void *user_p) {return fwrite(buffer, size, count, (FILE *)user_p); }size_t save_sohu_page(void *buffer, size_t size, size_t count, void *user_p) {return fwrite(buffer, size, count, (FILE *)user_p); }

總結

以上是生活随笔為你收集整理的libcurl教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

婷婷丁香五月天综合东京热 | 亚洲国产精品美女久久久久 | 日韩人妻系列无码专区 | 国产午夜无码视频在线观看 | 成人av无码一区二区三区 | 东北女人啪啪对白 | 天堂一区人妻无码 | 亚洲а∨天堂久久精品2021 | 久久伊人色av天堂九九小黄鸭 | 人人爽人人爽人人片av亚洲 | 图片区 小说区 区 亚洲五月 | 人人妻人人澡人人爽欧美一区九九 | 蜜桃视频韩日免费播放 | 亚洲一区av无码专区在线观看 | 国产偷国产偷精品高清尤物 | 夜夜夜高潮夜夜爽夜夜爰爰 | 日本在线高清不卡免费播放 | 欧美xxxxx精品 | 一本大道伊人av久久综合 | av无码不卡在线观看免费 | 国产免费久久久久久无码 | 国产在线精品一区二区高清不卡 | 国产熟女一区二区三区四区五区 | 国产精品无码永久免费888 | 人妻人人添人妻人人爱 | 丰满岳乱妇在线观看中字无码 | 又大又硬又爽免费视频 | 国产精品成人av在线观看 | 久久99精品国产麻豆 | 亚洲中文字幕av在天堂 | 激情内射亚州一区二区三区爱妻 | 玩弄少妇高潮ⅹxxxyw | 亚洲精品美女久久久久久久 | 国产成人久久精品流白浆 | 精品久久8x国产免费观看 | aⅴ在线视频男人的天堂 | 精品一区二区三区波多野结衣 | 亚洲欧美日韩成人高清在线一区 | 在线天堂新版最新版在线8 | 亚洲春色在线视频 | 亚洲国产成人av在线观看 | 男人的天堂2018无码 | 国产精品久久久久影院嫩草 | 欧美日本精品一区二区三区 | 国产精品久久福利网站 | 国产亚洲人成a在线v网站 | 少妇厨房愉情理9仑片视频 | 成人一区二区免费视频 | 无码福利日韩神码福利片 | 又大又硬又黄的免费视频 | 伊人久久大香线蕉av一区二区 | 少妇性俱乐部纵欲狂欢电影 | 精品久久久久久人妻无码中文字幕 | 久久久久人妻一区精品色欧美 | 丰满人妻一区二区三区免费视频 | 国产美女极度色诱视频www | 国产乱人偷精品人妻a片 | 色综合久久久无码网中文 | 成人无码视频免费播放 | 精品无码一区二区三区爱欲 | 任你躁国产自任一区二区三区 | 国产精品久久久久久无码 | 精品亚洲韩国一区二区三区 | 中文字幕中文有码在线 | 欧美日韩久久久精品a片 | 欧美人与禽zoz0性伦交 | 无人区乱码一区二区三区 | 欧美高清在线精品一区 | 久久精品视频在线看15 | 亚洲精品午夜无码电影网 | 国产精品对白交换视频 | 成人无码精品1区2区3区免费看 | 国产后入清纯学生妹 | 特级做a爰片毛片免费69 | 无码毛片视频一区二区本码 | 亚洲国产精华液网站w | 精品aⅴ一区二区三区 | 国产又爽又猛又粗的视频a片 | 欧美三级不卡在线观看 | v一区无码内射国产 | 18无码粉嫩小泬无套在线观看 | 131美女爱做视频 | 亚洲综合另类小说色区 | 精品国产一区二区三区av 性色 | 免费看少妇作爱视频 | 99re在线播放 | 熟女少妇人妻中文字幕 | 国产肉丝袜在线观看 | 野狼第一精品社区 | 亚洲 日韩 欧美 成人 在线观看 | 精品久久8x国产免费观看 | 久久亚洲精品成人无码 | 麻豆果冻传媒2021精品传媒一区下载 | 天堂无码人妻精品一区二区三区 | 精品国产一区av天美传媒 | 欧美人与物videos另类 | 婷婷综合久久中文字幕蜜桃三电影 | 老司机亚洲精品影院无码 | 正在播放老肥熟妇露脸 | 一本久久a久久精品vr综合 | 国产精品对白交换视频 | 在线а√天堂中文官网 | 桃花色综合影院 | 亚洲理论电影在线观看 | 夜先锋av资源网站 | 亚洲中文字幕久久无码 | 玩弄少妇高潮ⅹxxxyw | 九九久久精品国产免费看小说 | 东京无码熟妇人妻av在线网址 | 丰腴饱满的极品熟妇 | 国产午夜无码视频在线观看 | 女人高潮内射99精品 | 成人性做爰aaa片免费看 | 亚洲精品国偷拍自产在线麻豆 | 人人妻人人澡人人爽人人精品 | ass日本丰满熟妇pics | 亚洲精品中文字幕 | 国产成人午夜福利在线播放 | 欧美性猛交内射兽交老熟妇 | 国产在线精品一区二区三区直播 | 久久久久久国产精品无码下载 | 丰满岳乱妇在线观看中字无码 | 亚洲乱码日产精品bd | 亚洲一区二区三区国产精华液 | 国产精品久久久久影院嫩草 | 成人无码精品1区2区3区免费看 | 亚洲一区二区三区含羞草 | a国产一区二区免费入口 | 中文字幕久久久久人妻 | 三上悠亚人妻中文字幕在线 | 少妇无码av无码专区在线观看 | 97久久精品无码一区二区 | 国产高潮视频在线观看 | 国产女主播喷水视频在线观看 | 久久精品国产精品国产精品污 | 欧美熟妇另类久久久久久不卡 | 亚洲gv猛男gv无码男同 | 蜜桃臀无码内射一区二区三区 | 少妇性l交大片欧洲热妇乱xxx | 欧洲极品少妇 | 天天做天天爱天天爽综合网 | 老司机亚洲精品影院 | 人妻无码久久精品人妻 | 欧美日韩久久久精品a片 | 亚洲精品无码国产 | √天堂中文官网8在线 | 高清无码午夜福利视频 | 老子影院午夜精品无码 | 中文字幕久久久久人妻 | 中文字幕av日韩精品一区二区 | 国产福利视频一区二区 | 人妻少妇精品无码专区二区 | www成人国产高清内射 | 欧美日韩精品 | 粗大的内捧猛烈进出视频 | 欧美乱妇无乱码大黄a片 | 大乳丰满人妻中文字幕日本 | 国产性生大片免费观看性 | 未满成年国产在线观看 | 正在播放东北夫妻内射 | 任你躁在线精品免费 | 亚洲 日韩 欧美 成人 在线观看 | 欧美xxxx黑人又粗又长 | 中文字幕无码av激情不卡 | 亚洲一区av无码专区在线观看 | 天天躁日日躁狠狠躁免费麻豆 | 成熟人妻av无码专区 | 国产亚洲精品久久久久久国模美 | 国产成人精品久久亚洲高清不卡 | 狠狠色欧美亚洲狠狠色www | 樱花草在线播放免费中文 | 国产无套粉嫩白浆在线 | 丰满肥臀大屁股熟妇激情视频 | 久久久av男人的天堂 | 成人无码精品1区2区3区免费看 | 国产乱码精品一品二品 | 久久久久成人精品免费播放动漫 | 在线а√天堂中文官网 | 亚洲无人区一区二区三区 | 少妇高潮喷潮久久久影院 | 亚洲欧美国产精品专区久久 | 中国女人内谢69xxxx | 无码福利日韩神码福利片 | 蜜桃臀无码内射一区二区三区 | 国产精品高潮呻吟av久久 | 高清国产亚洲精品自在久久 | 精品人妻av区 | 最近中文2019字幕第二页 | 在线视频网站www色 | 精品久久久无码中文字幕 | 色综合久久久无码中文字幕 | 国产成人无码区免费内射一片色欲 | 久久国产精品_国产精品 | 精品国偷自产在线视频 | 欧美黑人巨大xxxxx | 精品欧洲av无码一区二区三区 | 香蕉久久久久久av成人 | 午夜熟女插插xx免费视频 | 国产av一区二区精品久久凹凸 | 亚洲精品一区二区三区在线观看 | 亚洲s色大片在线观看 | 成人免费无码大片a毛片 | 国产成人精品无码播放 | 色妞www精品免费视频 | 玩弄少妇高潮ⅹxxxyw | 波多野结衣av在线观看 | 亚洲成av人在线观看网址 | 免费观看激色视频网站 | 精品国产av色一区二区深夜久久 | 最近免费中文字幕中文高清百度 | 久久久久久国产精品无码下载 | 亚洲天堂2017无码中文 | 久久这里只有精品视频9 | 国产午夜精品一区二区三区嫩草 | 久久亚洲精品中文字幕无男同 | 色婷婷综合中文久久一本 | 免费无码的av片在线观看 | 女人高潮内射99精品 | 欧美日韩一区二区免费视频 | 内射爽无广熟女亚洲 | 亚洲人成网站在线播放942 | 久久久国产精品无码免费专区 | 永久黄网站色视频免费直播 | 精品国产成人一区二区三区 | 精品偷自拍另类在线观看 | 99久久久国产精品无码免费 | 亚洲精品成人福利网站 | 55夜色66夜色国产精品视频 | 国产精品亚洲专区无码不卡 | 亚洲 高清 成人 动漫 | 欧美性生交xxxxx久久久 | 在线播放免费人成毛片乱码 | 日产国产精品亚洲系列 | 日本乱偷人妻中文字幕 | 日本www一道久久久免费榴莲 | 欧美野外疯狂做受xxxx高潮 | 国产av一区二区精品久久凹凸 | 麻豆果冻传媒2021精品传媒一区下载 | 亚洲精品久久久久中文第一幕 | 十八禁真人啪啪免费网站 | 日本一区二区三区免费高清 | 色 综合 欧美 亚洲 国产 | 少妇邻居内射在线 | 色综合久久久无码中文字幕 | 午夜理论片yy44880影院 | 成人一区二区免费视频 | 成 人影片 免费观看 | 中文字幕无码日韩专区 | 免费国产成人高清在线观看网站 | 日日鲁鲁鲁夜夜爽爽狠狠 | 久久久久免费看成人影片 | 中文字幕色婷婷在线视频 | 亚洲中文字幕在线观看 | 婷婷五月综合缴情在线视频 | 中文久久乱码一区二区 | 久久久久av无码免费网 | 精品午夜福利在线观看 | 少妇被黑人到高潮喷出白浆 | 精品无人区无码乱码毛片国产 | 一本久久a久久精品vr综合 | 久久久久se色偷偷亚洲精品av | 麻豆成人精品国产免费 | 国产乱子伦视频在线播放 | 亚洲国产欧美日韩精品一区二区三区 | 激情五月综合色婷婷一区二区 | 久久午夜无码鲁丝片秋霞 | 精品国产精品久久一区免费式 | 波多野结衣 黑人 | 人人妻人人澡人人爽人人精品浪潮 | 女人和拘做爰正片视频 | 牲欲强的熟妇农村老妇女视频 | 国产国产精品人在线视 | 日韩精品a片一区二区三区妖精 | 国产精品无码一区二区桃花视频 | 伊人久久婷婷五月综合97色 | 永久黄网站色视频免费直播 | 极品尤物被啪到呻吟喷水 | 丝袜 中出 制服 人妻 美腿 | 日日摸日日碰夜夜爽av | 久久久久久久人妻无码中文字幕爆 | 国产真人无遮挡作爱免费视频 | 亚洲 日韩 欧美 成人 在线观看 | 久久综合激激的五月天 | 无码国内精品人妻少妇 | 日本一卡2卡3卡四卡精品网站 | 性色欲情网站iwww九文堂 | 无码精品人妻一区二区三区av | 三上悠亚人妻中文字幕在线 | 久激情内射婷内射蜜桃人妖 | 波多野结衣aⅴ在线 | 小sao货水好多真紧h无码视频 | 丰满人妻被黑人猛烈进入 | 日韩av无码中文无码电影 | 99精品久久毛片a片 | 国产精品18久久久久久麻辣 | 亚洲毛片av日韩av无码 | 兔费看少妇性l交大片免费 | 巨爆乳无码视频在线观看 | 国产尤物精品视频 | 人妻无码久久精品人妻 | 国精产品一品二品国精品69xx | 少妇被黑人到高潮喷出白浆 | 国产精品美女久久久久av爽李琼 | 亚洲欧美国产精品久久 | 人妻aⅴ无码一区二区三区 | 麻豆精品国产精华精华液好用吗 | 久久99久久99精品中文字幕 | 国产性生大片免费观看性 | 国产人妻精品一区二区三区不卡 | 夫妻免费无码v看片 | 中文字幕乱码人妻无码久久 | 精品成人av一区二区三区 | 国产艳妇av在线观看果冻传媒 | 亚洲一区二区三区香蕉 | 人妻尝试又大又粗久久 | 人妻天天爽夜夜爽一区二区 | 性欧美牲交xxxxx视频 | 99精品无人区乱码1区2区3区 | 国产黄在线观看免费观看不卡 | 天堂久久天堂av色综合 | 99视频精品全部免费免费观看 | 国产亚洲tv在线观看 | 日日干夜夜干 | av在线亚洲欧洲日产一区二区 | 人妻中文无码久热丝袜 | 日韩视频 中文字幕 视频一区 | 成人无码影片精品久久久 | 久久无码中文字幕免费影院蜜桃 | 精品久久久中文字幕人妻 | 国产真实乱对白精彩久久 | 国产成人无码av一区二区 | 国产后入清纯学生妹 | 99久久精品国产一区二区蜜芽 | 精品久久久无码人妻字幂 | 国产绳艺sm调教室论坛 | 天天拍夜夜添久久精品 | 国产乱码精品一品二品 | 久在线观看福利视频 | 免费观看黄网站 | 久久精品99久久香蕉国产色戒 | 免费看男女做好爽好硬视频 | 久久精品女人天堂av免费观看 | 免费观看又污又黄的网站 | 丰满妇女强制高潮18xxxx | 国语精品一区二区三区 | 精品人妻av区 | 伊人久久大香线焦av综合影院 | 国产电影无码午夜在线播放 | 国产人妻精品午夜福利免费 | 在线а√天堂中文官网 | 中文无码成人免费视频在线观看 | 亚洲码国产精品高潮在线 | 欧美日本日韩 | 高潮喷水的毛片 | 高潮毛片无遮挡高清免费 | 欧美乱妇无乱码大黄a片 | 欧美野外疯狂做受xxxx高潮 | 成熟女人特级毛片www免费 | 亚洲精品中文字幕乱码 | 亚洲精品中文字幕乱码 | 久久婷婷五月综合色国产香蕉 | 秋霞特色aa大片 | 国产99久久精品一区二区 | 久久人妻内射无码一区三区 | 国产成人精品优优av | 久久视频在线观看精品 | 无码av最新清无码专区吞精 | 欧美日韩一区二区综合 | 无码播放一区二区三区 | 精品国产一区av天美传媒 | 中文字幕久久久久人妻 | 国产片av国语在线观看 | 亚洲精品综合五月久久小说 | 无码毛片视频一区二区本码 | 亚洲色欲色欲欲www在线 | 亚洲另类伦春色综合小说 | 性色av无码免费一区二区三区 | av人摸人人人澡人人超碰下载 | 无码国模国产在线观看 | 天天拍夜夜添久久精品 | 国产精品亚洲综合色区韩国 | 麻花豆传媒剧国产免费mv在线 | 亚洲一区av无码专区在线观看 | 免费观看激色视频网站 | 黑人大群体交免费视频 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 国产精华av午夜在线观看 | 国产人妻精品午夜福利免费 | 亚洲成av人影院在线观看 | 欧美日韩人成综合在线播放 | 国产亚洲人成a在线v网站 | 久久久久国色av免费观看性色 | 精品乱码久久久久久久 | 一个人看的www免费视频在线观看 | 一本久久伊人热热精品中文字幕 | 欧美性猛交xxxx富婆 | 日本高清一区免费中文视频 | 久久精品中文闷骚内射 | 无码人妻丰满熟妇区毛片18 | 色五月五月丁香亚洲综合网 | 成人精品一区二区三区中文字幕 | 国内老熟妇对白xxxxhd | 久久亚洲精品中文字幕无男同 | 国产猛烈高潮尖叫视频免费 | 性色欲网站人妻丰满中文久久不卡 | ass日本丰满熟妇pics | 国内少妇偷人精品视频 | 樱花草在线播放免费中文 | 亚洲国产精品一区二区美利坚 | 久久www免费人成人片 | av小次郎收藏 | 女人被男人躁得好爽免费视频 | 伊人久久大香线蕉av一区二区 | 在教室伦流澡到高潮hnp视频 | 亚洲精品综合一区二区三区在线 | 国产亚洲tv在线观看 | 天天拍夜夜添久久精品大 | 人人妻人人藻人人爽欧美一区 | 牲交欧美兽交欧美 | 久久午夜夜伦鲁鲁片无码免费 | 久久无码中文字幕免费影院蜜桃 | 午夜不卡av免费 一本久久a久久精品vr综合 | 亚洲春色在线视频 | 正在播放老肥熟妇露脸 | 少妇人妻av毛片在线看 | 久久99精品国产麻豆蜜芽 | 午夜精品久久久久久久 | 久久久精品456亚洲影院 | 亚洲国产精品成人久久蜜臀 | 久久久久99精品成人片 | 日本熟妇人妻xxxxx人hd | 亚洲欧美日韩成人高清在线一区 | 55夜色66夜色国产精品视频 | 免费无码午夜福利片69 | 99精品国产综合久久久久五月天 | 亚洲精品成a人在线观看 | 日本一本二本三区免费 | 久久精品人人做人人综合 | 国产免费观看黄av片 | 一本久久a久久精品亚洲 | 性生交大片免费看l | 国产亚洲日韩欧美另类第八页 | 精品国精品国产自在久国产87 | 国产午夜无码视频在线观看 | 男人的天堂2018无码 | 高潮喷水的毛片 | 无人区乱码一区二区三区 | 欧美成人午夜精品久久久 | 十八禁视频网站在线观看 | 国产一区二区三区日韩精品 | 亚洲小说图区综合在线 | 国产午夜无码视频在线观看 | 亚洲精品国产a久久久久久 | 在线观看国产午夜福利片 | 成人无码视频在线观看网站 | 亚洲国产精品成人久久蜜臀 | 久久精品国产日本波多野结衣 | 欧美 丝袜 自拍 制服 另类 | 欧美一区二区三区 | 国产成人人人97超碰超爽8 | 午夜无码区在线观看 | 我要看www免费看插插视频 | 偷窥村妇洗澡毛毛多 | 激情国产av做激情国产爱 | 国产综合在线观看 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 日韩亚洲欧美精品综合 | 国产明星裸体无码xxxx视频 | 黑人玩弄人妻中文在线 | 国产精品久久久久久久影院 | 亚洲精品一区国产 | 搡女人真爽免费视频大全 | 亚洲国产日韩a在线播放 | 搡女人真爽免费视频大全 | 99久久无码一区人妻 | 国产精品人妻一区二区三区四 | 国产香蕉尹人视频在线 | 亚洲gv猛男gv无码男同 | 亚洲熟妇色xxxxx欧美老妇y | 国产精品亚洲а∨无码播放麻豆 | 亚洲 激情 小说 另类 欧美 | а√天堂www在线天堂小说 | 夜精品a片一区二区三区无码白浆 | 国产办公室秘书无码精品99 | 熟妇人妻无码xxx视频 | 久久精品无码一区二区三区 | 欧美三级a做爰在线观看 | 国产精品无码mv在线观看 | 九九在线中文字幕无码 | 国产精品第一国产精品 | 亚洲国产精品美女久久久久 | 人妻无码αv中文字幕久久琪琪布 | 偷窥村妇洗澡毛毛多 | 中文字幕色婷婷在线视频 | 人妻无码αv中文字幕久久琪琪布 | 黑人巨大精品欧美一区二区 | 成年美女黄网站色大免费全看 | 亚洲 a v无 码免 费 成 人 a v | 中文字幕无码乱人伦 | 国产成人无码av在线影院 | 亚洲精品中文字幕久久久久 | 日韩成人一区二区三区在线观看 | 日日夜夜撸啊撸 | 97se亚洲精品一区 | 亚洲中文字幕乱码av波多ji | 久久成人a毛片免费观看网站 | 午夜理论片yy44880影院 | 成人无码精品一区二区三区 | 人人妻人人澡人人爽欧美一区九九 | 人人妻人人藻人人爽欧美一区 | 国产九九九九九九九a片 | 激情内射日本一区二区三区 | 精品国产精品久久一区免费式 | 国产精品亚洲а∨无码播放麻豆 | 亚洲 a v无 码免 费 成 人 a v | 女高中生第一次破苞av | 欧美人与牲动交xxxx | 日日橹狠狠爱欧美视频 | 久久五月精品中文字幕 | 波多野结衣aⅴ在线 | 亚洲无人区一区二区三区 | 少妇性俱乐部纵欲狂欢电影 | 亚洲理论电影在线观看 | 玩弄中年熟妇正在播放 | 国产办公室秘书无码精品99 | 一个人看的www免费视频在线观看 | 亚洲gv猛男gv无码男同 | 精品久久综合1区2区3区激情 | 精品国产麻豆免费人成网站 | 亚洲欧美日韩国产精品一区二区 | 久久久成人毛片无码 | 国产精品久久福利网站 | 久激情内射婷内射蜜桃人妖 | 无码av最新清无码专区吞精 | 色综合久久久无码网中文 | 一本色道久久综合亚洲精品不卡 | 性欧美大战久久久久久久 | 中文字幕色婷婷在线视频 | 亚洲人成无码网www | 兔费看少妇性l交大片免费 | 国产亚洲精品久久久ai换 | 国产精品爱久久久久久久 | 亚洲 日韩 欧美 成人 在线观看 | 特大黑人娇小亚洲女 | 装睡被陌生人摸出水好爽 | 亚洲成色www久久网站 | 久久久国产精品无码免费专区 | 中文字幕无码视频专区 | 亚洲小说春色综合另类 | 玩弄少妇高潮ⅹxxxyw | 欧美老妇交乱视频在线观看 | 亚洲精品中文字幕乱码 | 国产午夜亚洲精品不卡 | 精品国产一区二区三区四区在线看 | 亚洲国产精品成人久久蜜臀 | 国产午夜亚洲精品不卡 | 国产片av国语在线观看 | 大地资源中文第3页 | 爱做久久久久久 | 色欲综合久久中文字幕网 | 亚洲爆乳大丰满无码专区 | 狠狠色欧美亚洲狠狠色www | 51国偷自产一区二区三区 | 国产精品爱久久久久久久 | 国产亚洲人成a在线v网站 | 性欧美牲交在线视频 | 色婷婷久久一区二区三区麻豆 | 亚欧洲精品在线视频免费观看 | 国产深夜福利视频在线 | 亚洲高清偷拍一区二区三区 | 精品无人区无码乱码毛片国产 | 国内精品久久久久久中文字幕 | 亚洲国产日韩a在线播放 | 在线看片无码永久免费视频 | 亚洲码国产精品高潮在线 | 免费人成在线观看网站 | 老熟妇仑乱视频一区二区 | 国产亚洲人成在线播放 | 久久无码人妻影院 | aⅴ在线视频男人的天堂 | 久久国内精品自在自线 | 国产欧美精品一区二区三区 | 国产色精品久久人妻 | 日韩人妻系列无码专区 | 少妇高潮喷潮久久久影院 | 少妇高潮一区二区三区99 | 131美女爱做视频 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 中文无码精品a∨在线观看不卡 | 国产suv精品一区二区五 | 色窝窝无码一区二区三区色欲 | 又大又紧又粉嫩18p少妇 | 国产精品福利视频导航 | 欧美野外疯狂做受xxxx高潮 | 色五月丁香五月综合五月 | 无码毛片视频一区二区本码 | 性欧美疯狂xxxxbbbb | 欧美激情内射喷水高潮 | 欧美性猛交xxxx富婆 | 成人免费视频视频在线观看 免费 | 无码福利日韩神码福利片 | 中文字幕无码乱人伦 | 狠狠综合久久久久综合网 | 欧美黑人性暴力猛交喷水 | 捆绑白丝粉色jk震动捧喷白浆 | 久久精品中文字幕大胸 | 无遮挡啪啪摇乳动态图 | 国产一区二区三区精品视频 | 国产色在线 | 国产 | 欧美兽交xxxx×视频 | 国语自产偷拍精品视频偷 | 欧洲熟妇色 欧美 | 宝宝好涨水快流出来免费视频 | 亚洲日本一区二区三区在线 | 未满小14洗澡无码视频网站 | 天天躁夜夜躁狠狠是什么心态 | 免费观看黄网站 | 成人影院yy111111在线观看 | 成人毛片一区二区 | 狠狠综合久久久久综合网 | 亚洲乱码中文字幕在线 | 丝袜美腿亚洲一区二区 | 性色欲网站人妻丰满中文久久不卡 | 一个人免费观看的www视频 | 国产精品无码一区二区桃花视频 | 青草视频在线播放 | 色综合视频一区二区三区 | 亚洲а∨天堂久久精品2021 | 久久人人爽人人爽人人片av高清 | 国产 浪潮av性色四虎 | 亚洲乱码日产精品bd | 初尝人妻少妇中文字幕 | 波多野42部无码喷潮在线 | 成人无码视频免费播放 | 在线播放亚洲第一字幕 | 欧美zoozzooz性欧美 | 噜噜噜亚洲色成人网站 | 精品人妻人人做人人爽 | 精品国精品国产自在久国产87 | 国产后入清纯学生妹 | 久久综合网欧美色妞网 | 久久国内精品自在自线 | 色综合久久中文娱乐网 | 少妇人妻偷人精品无码视频 | 亚洲a无码综合a国产av中文 | 色偷偷人人澡人人爽人人模 | ass日本丰满熟妇pics | 国产人妻久久精品二区三区老狼 | 日韩在线不卡免费视频一区 | 亚洲小说春色综合另类 | 自拍偷自拍亚洲精品10p | 欧美一区二区三区 | 日韩精品一区二区av在线 | 天堂亚洲免费视频 | 国产亚洲欧美日韩亚洲中文色 | 欧美性猛交xxxx富婆 | 99久久人妻精品免费二区 | 人妻少妇精品无码专区动漫 | 成熟妇人a片免费看网站 | 欧洲精品码一区二区三区免费看 | 激情人妻另类人妻伦 | 一二三四在线观看免费视频 | 无码人妻久久一区二区三区不卡 | 欧洲欧美人成视频在线 | 国精产品一品二品国精品69xx | 精品国产国产综合精品 | 日本xxxx色视频在线观看免费 | 亚洲色欲色欲欲www在线 | 精品国产一区二区三区四区在线看 | 美女极度色诱视频国产 | 少妇无套内谢久久久久 | 天堂а√在线地址中文在线 | 亚洲精品国产品国语在线观看 | 午夜男女很黄的视频 | 无码人中文字幕 | 人妻aⅴ无码一区二区三区 | 亚洲日韩精品欧美一区二区 | 十八禁视频网站在线观看 | 国产电影无码午夜在线播放 | 亚洲色欲久久久综合网东京热 | 国产精品怡红院永久免费 | www国产亚洲精品久久久日本 | 欧美性生交xxxxx久久久 | 亚洲欧美国产精品专区久久 | 日本免费一区二区三区最新 | 国产精品久久久 | 99精品国产综合久久久久五月天 | 蜜桃av抽搐高潮一区二区 | 国产精品久久久一区二区三区 | 无码人妻久久一区二区三区不卡 | 亚洲精品一区二区三区大桥未久 | 国产一区二区三区影院 | 激情亚洲一区国产精品 | 国产精品久久久一区二区三区 | 成人综合网亚洲伊人 | 国产极品美女高潮无套在线观看 | 无码人妻av免费一区二区三区 | 乱码午夜-极国产极内射 | 久久人人97超碰a片精品 | 人妻aⅴ无码一区二区三区 | 思思久久99热只有频精品66 | 亚洲欧美中文字幕5发布 | 无码人妻丰满熟妇区五十路百度 | 乱人伦人妻中文字幕无码 | 精品国产麻豆免费人成网站 | 国产亚洲精品久久久久久 | 狠狠色噜噜狠狠狠狠7777米奇 | v一区无码内射国产 | 超碰97人人射妻 | 无码人妻av免费一区二区三区 | 人妻无码久久精品人妻 | 波多野结衣高清一区二区三区 | 99久久亚洲精品无码毛片 | 玩弄少妇高潮ⅹxxxyw | 亚洲日韩一区二区 | 福利一区二区三区视频在线观看 | 在线a亚洲视频播放在线观看 | 久久久精品成人免费观看 | 欧美老熟妇乱xxxxx | 77777熟女视频在线观看 а天堂中文在线官网 | 日本精品人妻无码免费大全 | 丰满人妻被黑人猛烈进入 | 国产精品久久久一区二区三区 | 久久精品国产大片免费观看 | 成人毛片一区二区 | 三上悠亚人妻中文字幕在线 | 日本一区二区更新不卡 | 日韩av激情在线观看 | 熟妇人妻无乱码中文字幕 | 国产成人午夜福利在线播放 | 国产人妻人伦精品 | 日本丰满护士爆乳xxxx | 精品午夜福利在线观看 | 人人妻人人澡人人爽人人精品浪潮 | 97夜夜澡人人双人人人喊 | 国产明星裸体无码xxxx视频 | 精品一区二区三区波多野结衣 | 日韩成人一区二区三区在线观看 | 国产成人无码午夜视频在线观看 | 日韩人妻系列无码专区 | 日韩精品一区二区av在线 | 精品国产av色一区二区深夜久久 | 亚洲色欲久久久综合网东京热 | 丰满岳乱妇在线观看中字无码 | 日日摸夜夜摸狠狠摸婷婷 | 又色又爽又黄的美女裸体网站 | 亚洲国产成人av在线观看 | 夜精品a片一区二区三区无码白浆 | 欧美激情内射喷水高潮 | 丁香花在线影院观看在线播放 | 男女作爱免费网站 | 日日噜噜噜噜夜夜爽亚洲精品 | 丰满少妇高潮惨叫视频 | av无码久久久久不卡免费网站 | 精品厕所偷拍各类美女tp嘘嘘 | 一本无码人妻在中文字幕免费 | 亚洲综合另类小说色区 | 性色欲网站人妻丰满中文久久不卡 | 亚洲精品鲁一鲁一区二区三区 | 国产精品高潮呻吟av久久4虎 | 中文亚洲成a人片在线观看 | 欧洲极品少妇 | 熟妇女人妻丰满少妇中文字幕 | 欧美三级a做爰在线观看 | 97精品人妻一区二区三区香蕉 | 国产精品成人av在线观看 | 一区二区三区乱码在线 | 欧洲 | 久久精品一区二区三区四区 | 在线a亚洲视频播放在线观看 | 日韩欧美中文字幕公布 | 国产欧美精品一区二区三区 | 国产尤物精品视频 | 扒开双腿疯狂进出爽爽爽视频 | 精品国产国产综合精品 | 国产激情艳情在线看视频 | 无码毛片视频一区二区本码 | 国产精品视频免费播放 | 伊人久久大香线蕉午夜 | 牲欲强的熟妇农村老妇女视频 | 大肉大捧一进一出视频出来呀 | 久久国产36精品色熟妇 | 又大又黄又粗又爽的免费视频 | 男女下面进入的视频免费午夜 | 精品久久久久久人妻无码中文字幕 | 亚洲а∨天堂久久精品2021 | 97无码免费人妻超级碰碰夜夜 | 亚洲欧美日韩成人高清在线一区 | 亚洲国产日韩a在线播放 | 日韩欧美成人免费观看 | 免费国产成人高清在线观看网站 | 欧美精品无码一区二区三区 | 欧美怡红院免费全部视频 | 成人aaa片一区国产精品 | 日本丰满熟妇videos | 成年美女黄网站色大免费视频 | 久久精品国产精品国产精品污 | 青青草原综合久久大伊人精品 | 人妻无码αv中文字幕久久琪琪布 | 亚洲中文字幕久久无码 | 久久久久亚洲精品男人的天堂 | 日韩精品无码免费一区二区三区 | 水蜜桃亚洲一二三四在线 | 中文字幕日韩精品一区二区三区 | 国产午夜福利亚洲第一 | 亚洲 另类 在线 欧美 制服 | 久久精品国产99久久6动漫 | 女人色极品影院 | 漂亮人妻洗澡被公强 日日躁 | 波多野结衣av一区二区全免费观看 | 免费男性肉肉影院 | 天天综合网天天综合色 | 国产综合久久久久鬼色 | 青春草在线视频免费观看 | 久久97精品久久久久久久不卡 | 国产成人亚洲综合无码 | v一区无码内射国产 | 亚洲午夜无码久久 | 伊人久久婷婷五月综合97色 | 精品欧美一区二区三区久久久 | 成人aaa片一区国产精品 | 骚片av蜜桃精品一区 | 欧美性色19p | 国产激情无码一区二区app | 亚洲精品一区二区三区在线观看 | 人人爽人人爽人人片av亚洲 | 无码人妻精品一区二区三区下载 | 亚洲成av人综合在线观看 | 久久久中文字幕日本无吗 | 国产黄在线观看免费观看不卡 | 丰满妇女强制高潮18xxxx | 精品国产福利一区二区 | 国产成人精品视频ⅴa片软件竹菊 | 一本大道久久东京热无码av | 极品尤物被啪到呻吟喷水 | аⅴ资源天堂资源库在线 | 人人妻人人澡人人爽欧美一区九九 | 国内少妇偷人精品视频 | 欧美刺激性大交 | 欧美日韩亚洲国产精品 | 国产成人综合在线女婷五月99播放 | 大肉大捧一进一出视频出来呀 | 在线观看欧美一区二区三区 | 久久久精品456亚洲影院 | 51国偷自产一区二区三区 | 人人妻人人藻人人爽欧美一区 | 中文无码精品a∨在线观看不卡 | 久久久久成人片免费观看蜜芽 | 国产人成高清在线视频99最全资源 | 天下第一社区视频www日本 | 久久精品国产一区二区三区肥胖 | 大肉大捧一进一出视频出来呀 | 红桃av一区二区三区在线无码av | 美女黄网站人色视频免费国产 | 熟女少妇人妻中文字幕 | 少妇无套内谢久久久久 | 成 人影片 免费观看 | 偷窥日本少妇撒尿chinese | 国产色精品久久人妻 | 亚洲色大成网站www | 天天拍夜夜添久久精品 | 最新国产乱人伦偷精品免费网站 | 久久亚洲日韩精品一区二区三区 | 激情综合激情五月俺也去 | 十八禁视频网站在线观看 | 亚洲精品一区二区三区在线 | 精品无人区无码乱码毛片国产 | 久久熟妇人妻午夜寂寞影院 | 免费人成网站视频在线观看 | 欧美高清在线精品一区 | 国产亚洲精品精品国产亚洲综合 | 人人妻人人澡人人爽人人精品浪潮 | 性欧美大战久久久久久久 | 久久久无码中文字幕久... | 国产美女精品一区二区三区 | 特大黑人娇小亚洲女 | 人妻天天爽夜夜爽一区二区 | 国产综合在线观看 | 色欲av亚洲一区无码少妇 | 中文字幕日韩精品一区二区三区 | 免费男性肉肉影院 | av无码电影一区二区三区 | 嫩b人妻精品一区二区三区 | 亚洲高清偷拍一区二区三区 | 日日麻批免费40分钟无码 | 欧美一区二区三区 | 中文字幕乱码中文乱码51精品 | 欧美日韩一区二区综合 | 成人无码影片精品久久久 | 国产香蕉尹人综合在线观看 | 日本xxxx色视频在线观看免费 | 一本久道高清无码视频 | 国产成人精品视频ⅴa片软件竹菊 | 色诱久久久久综合网ywww | 国产精品va在线观看无码 | 亚洲精品久久久久avwww潮水 | 欧美日本免费一区二区三区 | 国产69精品久久久久app下载 | 国产美女精品一区二区三区 | 免费国产黄网站在线观看 | 亚洲另类伦春色综合小说 | 国产亚洲精品久久久久久 | 色欲人妻aaaaaaa无码 | 性开放的女人aaa片 | 亚洲精品成a人在线观看 | 精品久久久久香蕉网 | 亚洲国产精品无码久久久久高潮 | 亚洲人亚洲人成电影网站色 | 狠狠色噜噜狠狠狠7777奇米 | 午夜时刻免费入口 | 久久99精品久久久久久动态图 | 无遮无挡爽爽免费视频 | 中国女人内谢69xxxxxa片 | 国产内射老熟女aaaa | 成人一区二区免费视频 | 扒开双腿吃奶呻吟做受视频 | 99麻豆久久久国产精品免费 | 亚洲午夜无码久久 | 老熟女乱子伦 | 国产精品igao视频网 | 青青草原综合久久大伊人精品 | 中文字幕无码免费久久9一区9 | 麻花豆传媒剧国产免费mv在线 | 少妇性荡欲午夜性开放视频剧场 | 大乳丰满人妻中文字幕日本 | 日日摸日日碰夜夜爽av | 少妇太爽了在线观看 | 欧美丰满熟妇xxxx性ppx人交 | 3d动漫精品啪啪一区二区中 | 熟妇人妻中文av无码 | 夫妻免费无码v看片 | 国产色xx群视频射精 | 性做久久久久久久免费看 | 亚洲中文字幕无码中字 | 狂野欧美激情性xxxx | 色婷婷综合中文久久一本 | 国产9 9在线 | 中文 | 亚洲国产精品美女久久久久 | 日韩精品a片一区二区三区妖精 | 精品国产av色一区二区深夜久久 | 日本精品人妻无码免费大全 | 成在人线av无码免观看麻豆 | 无码毛片视频一区二区本码 | √8天堂资源地址中文在线 | 色综合久久中文娱乐网 | 福利一区二区三区视频在线观看 | 国产va免费精品观看 | 国产偷自视频区视频 | 亚洲欧洲日本综合aⅴ在线 | 国产精品久久久久无码av色戒 | 成人免费视频一区二区 | 水蜜桃亚洲一二三四在线 | 人妻少妇被猛烈进入中文字幕 | 亚洲精品鲁一鲁一区二区三区 | 成人片黄网站色大片免费观看 | 亚洲精品中文字幕久久久久 | 女人和拘做爰正片视频 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲国产欧美在线成人 | 天堂一区人妻无码 | 国产精品久免费的黄网站 | 丝袜美腿亚洲一区二区 | 亚洲午夜福利在线观看 | 日本爽爽爽爽爽爽在线观看免 | 欧美人与禽猛交狂配 | 黑人玩弄人妻中文在线 | 在线精品国产一区二区三区 | 亚洲男人av香蕉爽爽爽爽 | 99久久精品国产一区二区蜜芽 | 国产精品办公室沙发 | 日本饥渴人妻欲求不满 | 国产超碰人人爽人人做人人添 | 55夜色66夜色国产精品视频 | 国精产品一品二品国精品69xx | 国内丰满熟女出轨videos | 黄网在线观看免费网站 | 少妇一晚三次一区二区三区 | 欧美老熟妇乱xxxxx | 日韩av无码一区二区三区不卡 | 国产深夜福利视频在线 | 国产亚洲日韩欧美另类第八页 | 欧美性猛交xxxx富婆 | 日本护士毛茸茸高潮 | 中文字幕 人妻熟女 | 中文久久乱码一区二区 | 日本乱偷人妻中文字幕 | 永久免费精品精品永久-夜色 | 国产亚洲欧美在线专区 | 牲欲强的熟妇农村老妇女 | 夜夜夜高潮夜夜爽夜夜爰爰 | 漂亮人妻洗澡被公强 日日躁 | 扒开双腿疯狂进出爽爽爽视频 | 精品国产福利一区二区 | 成人综合网亚洲伊人 | 国产精品第一区揄拍无码 | 人人超人人超碰超国产 | 天堂а√在线地址中文在线 | 高清不卡一区二区三区 | 国产精品久久国产三级国 | 日本精品人妻无码免费大全 | 国产精品美女久久久 | 午夜福利一区二区三区在线观看 | 又色又爽又黄的美女裸体网站 | 女高中生第一次破苞av | 日韩人妻系列无码专区 | 狠狠色噜噜狠狠狠狠7777米奇 | 日本熟妇大屁股人妻 | 亚洲中文字幕乱码av波多ji | 99久久久国产精品无码免费 | 麻豆成人精品国产免费 | 97无码免费人妻超级碰碰夜夜 | 国产乱码精品一品二品 | 又紧又大又爽精品一区二区 | 国产熟妇另类久久久久 | 免费网站看v片在线18禁无码 | 精品 日韩 国产 欧美 视频 | 欧美三级不卡在线观看 | 亚洲码国产精品高潮在线 | 又粗又大又硬又长又爽 | 奇米影视888欧美在线观看 | 窝窝午夜理论片影院 | 成 人 免费观看网站 | 啦啦啦www在线观看免费视频 | 亚洲精品鲁一鲁一区二区三区 | a国产一区二区免费入口 | 久久午夜无码鲁丝片 | 熟妇人妻激情偷爽文 | 国产黑色丝袜在线播放 | a在线观看免费网站大全 | 精品亚洲韩国一区二区三区 | 乱人伦人妻中文字幕无码久久网 | 久久 国产 尿 小便 嘘嘘 | 最近免费中文字幕中文高清百度 | 国产精品对白交换视频 | 国产偷抇久久精品a片69 | 国产激情艳情在线看视频 | 性生交片免费无码看人 | 色婷婷av一区二区三区之红樱桃 | 欧美猛少妇色xxxxx | 精品厕所偷拍各类美女tp嘘嘘 | 国产精品亚洲综合色区韩国 | 国产成人人人97超碰超爽8 | 无码午夜成人1000部免费视频 | 国产性生交xxxxx无码 | 沈阳熟女露脸对白视频 | 亚洲精品美女久久久久久久 | 国产两女互慰高潮视频在线观看 | 中文无码精品a∨在线观看不卡 | 55夜色66夜色国产精品视频 | 奇米影视7777久久精品 | 97se亚洲精品一区 | 日产国产精品亚洲系列 | 爽爽影院免费观看 | 久久国内精品自在自线 | 狠狠色噜噜狠狠狠7777奇米 | 日本又色又爽又黄的a片18禁 | 麻豆精品国产精华精华液好用吗 | 亚洲狠狠婷婷综合久久 | 亚洲国产成人a精品不卡在线 | 少妇高潮一区二区三区99 | 人人爽人人爽人人片av亚洲 | 国产国语老龄妇女a片 | 乱人伦人妻中文字幕无码 | 99久久精品国产一区二区蜜芽 | 色一情一乱一伦一视频免费看 | 亚洲欧美日韩成人高清在线一区 | 欧美老人巨大xxxx做受 | 亚洲欧美国产精品久久 | 亚洲乱码日产精品bd | 荫蒂添的好舒服视频囗交 | 国语精品一区二区三区 | 日日麻批免费40分钟无码 | 任你躁国产自任一区二区三区 | 国产亚洲欧美日韩亚洲中文色 | 国产无遮挡吃胸膜奶免费看 | 小sao货水好多真紧h无码视频 | 无码人妻精品一区二区三区不卡 | 国产亚洲精品久久久闺蜜 | 性生交大片免费看女人按摩摩 | 日日天日日夜日日摸 | 婷婷色婷婷开心五月四房播播 | 久久久亚洲欧洲日产国码αv | 久久无码中文字幕免费影院蜜桃 | 76少妇精品导航 | 日韩少妇白浆无码系列 | 欧美激情内射喷水高潮 | 成人免费视频视频在线观看 免费 | 成人亚洲精品久久久久软件 | 中文字幕乱码中文乱码51精品 | 国产又爽又猛又粗的视频a片 | 亚洲男人av香蕉爽爽爽爽 | 夜夜夜高潮夜夜爽夜夜爰爰 | 久久无码人妻影院 | 中文无码伦av中文字幕 | 国产免费久久精品国产传媒 | 国产凸凹视频一区二区 | 丝袜足控一区二区三区 | 欧美人与禽zoz0性伦交 | 亚洲男女内射在线播放 | 无码国内精品人妻少妇 | 伦伦影院午夜理论片 | 女人被爽到呻吟gif动态图视看 | 国产精品a成v人在线播放 | 水蜜桃色314在线观看 | 色综合久久中文娱乐网 | 亚洲熟熟妇xxxx | 熟妇女人妻丰满少妇中文字幕 | 亚洲精品综合五月久久小说 | 国产乱人伦av在线无码 | 最近中文2019字幕第二页 | 久久久精品成人免费观看 | 色欲综合久久中文字幕网 | 亚洲综合色区中文字幕 | 内射后入在线观看一区 | 少妇高潮喷潮久久久影院 | 红桃av一区二区三区在线无码av | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 日本熟妇浓毛 | 亚洲国产精品美女久久久久 | 在线精品亚洲一区二区 | 妺妺窝人体色www在线小说 | 激情国产av做激情国产爱 | 精品国产乱码久久久久乱码 | 亚洲国产欧美日韩精品一区二区三区 | 无码人妻出轨黑人中文字幕 | 日本又色又爽又黄的a片18禁 | 国产一区二区三区影院 | 97精品国产97久久久久久免费 | 天天摸天天透天天添 | 未满小14洗澡无码视频网站 | 人人妻人人澡人人爽人人精品 | 国产乱人偷精品人妻a片 | 欧美性生交活xxxxxdddd | 强伦人妻一区二区三区视频18 | 99久久99久久免费精品蜜桃 | 日产精品高潮呻吟av久久 | 天堂亚洲免费视频 | 激情内射日本一区二区三区 | 亚洲自偷自拍另类第1页 | 亚洲精品中文字幕乱码 | 亚洲精品一区二区三区在线观看 | 久久99久久99精品中文字幕 | 国产亚洲精品久久久久久国模美 | 中文字幕久久久久人妻 | 久久久久亚洲精品中文字幕 | 4hu四虎永久在线观看 | 国产日产欧产精品精品app | 无码人妻丰满熟妇区五十路百度 | а天堂中文在线官网 | 又粗又大又硬毛片免费看 | 亚洲精品一区国产 | 日本乱偷人妻中文字幕 | 麻豆国产丝袜白领秘书在线观看 | 久久婷婷五月综合色国产香蕉 | 亚洲国产午夜精品理论片 | 国产午夜无码视频在线观看 | 欧美日韩人成综合在线播放 | 丰腴饱满的极品熟妇 | 一区二区三区高清视频一 | 一本久久伊人热热精品中文字幕 | 免费乱码人妻系列无码专区 | 成人三级无码视频在线观看 | 熟女少妇在线视频播放 | 精品人人妻人人澡人人爽人人 | 欧美丰满熟妇xxxx性ppx人交 | 久久综合久久自在自线精品自 | 男女超爽视频免费播放 | 帮老师解开蕾丝奶罩吸乳网站 | 国产国产精品人在线视 | 国产97人人超碰caoprom | 日日鲁鲁鲁夜夜爽爽狠狠 | 樱花草在线社区www | 国产精品国产自线拍免费软件 | 又色又爽又黄的美女裸体网站 | 国产精品鲁鲁鲁 | 东京热一精品无码av | 水蜜桃亚洲一二三四在线 | 欧美精品在线观看 | 中文字幕无码热在线视频 | 欧美成人家庭影院 | 亚洲精品国产精品乱码视色 | 久久熟妇人妻午夜寂寞影院 | 亚洲熟女一区二区三区 | 国产人妻人伦精品1国产丝袜 | 国内精品人妻无码久久久影院 | ass日本丰满熟妇pics | 亚洲精品国产第一综合99久久 | 亚洲熟女一区二区三区 | 亚洲成熟女人毛毛耸耸多 | 国产av无码专区亚洲a∨毛片 | 国产av久久久久精东av | 给我免费的视频在线观看 | 国产成人av免费观看 | √天堂资源地址中文在线 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 97se亚洲精品一区 | 欧美大屁股xxxxhd黑色 | 99精品久久毛片a片 | 在线观看国产一区二区三区 | 国产一区二区三区精品视频 | 成人精品视频一区二区三区尤物 | 亚洲成a人片在线观看无码 | 亚洲中文字幕无码一久久区 | 精品无码成人片一区二区98 | 国产成人亚洲综合无码 | 精品少妇爆乳无码av无码专区 | 俺去俺来也www色官网 | 亚洲国产精华液网站w | 久久成人a毛片免费观看网站 | 又大又黄又粗又爽的免费视频 | 亚洲成熟女人毛毛耸耸多 | 国产两女互慰高潮视频在线观看 | 国产人成高清在线视频99最全资源 | av在线亚洲欧洲日产一区二区 | 无码人妻出轨黑人中文字幕 | 欧美性生交xxxxx久久久 | 色窝窝无码一区二区三区色欲 | 一本精品99久久精品77 | 丝袜人妻一区二区三区 | 日韩av无码中文无码电影 | 国产精品理论片在线观看 | 国产精品高潮呻吟av久久 | 少妇性l交大片 | 特级做a爰片毛片免费69 | 国产精品久久久久久无码 | 久久婷婷五月综合色国产香蕉 | 国产色在线 | 国产 | 国产乱人偷精品人妻a片 | 日韩在线不卡免费视频一区 | 久久97精品久久久久久久不卡 | 国内揄拍国内精品人妻 | 中文精品久久久久人妻不卡 | 双乳奶水饱满少妇呻吟 | 国产97人人超碰caoprom | 日本熟妇人妻xxxxx人hd | 熟女少妇人妻中文字幕 | 国产一区二区三区四区五区加勒比 | 久久久久成人精品免费播放动漫 | 黑森林福利视频导航 | 久久国产自偷自偷免费一区调 | 日日碰狠狠丁香久燥 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 亚洲天堂2017无码中文 | 欧美第一黄网免费网站 | 精品久久久无码中文字幕 | 精品人人妻人人澡人人爽人人 | 亚洲日韩av一区二区三区四区 | 好爽又高潮了毛片免费下载 | 亚洲精品国偷拍自产在线麻豆 | 国产成人精品一区二区在线小狼 | 国产又爽又猛又粗的视频a片 | 国产在热线精品视频 | 亚洲欧美精品伊人久久 | 久精品国产欧美亚洲色aⅴ大片 | 伊在人天堂亚洲香蕉精品区 | 丰满少妇高潮惨叫视频 | 欧美人与牲动交xxxx | 久久五月精品中文字幕 | 国产又爽又猛又粗的视频a片 | 国产成人无码av片在线观看不卡 | 玩弄中年熟妇正在播放 | 蜜臀av无码人妻精品 | 亚洲中文字幕成人无码 | 亚洲国产精品美女久久久久 | 国产情侣作爱视频免费观看 | 高潮毛片无遮挡高清免费视频 | 高清无码午夜福利视频 | 日韩欧美中文字幕在线三区 | 国产凸凹视频一区二区 | 无码人妻久久一区二区三区不卡 | 国产成人精品一区二区在线小狼 | 精品无码av一区二区三区 | 亚洲精品www久久久 | 亚洲精品国偷拍自产在线观看蜜桃 | 在线观看国产午夜福利片 | 国产美女极度色诱视频www | 色五月五月丁香亚洲综合网 | 亚洲国精产品一二二线 | 欧美日本免费一区二区三区 | 又紧又大又爽精品一区二区 | 熟女俱乐部五十路六十路av | 亚洲精品美女久久久久久久 | 亚洲欧洲日本无在线码 | 色窝窝无码一区二区三区色欲 | 国产绳艺sm调教室论坛 | 日本又色又爽又黄的a片18禁 | 国产性生交xxxxx无码 | 亚洲精品一区二区三区大桥未久 | 午夜肉伦伦影院 | 久久这里只有精品视频9 | 人人妻人人澡人人爽人人精品浪潮 | 亚洲成a人片在线观看无码3d | 婷婷五月综合激情中文字幕 | 欧美日韩久久久精品a片 | 天堂久久天堂av色综合 | 亚洲色欲久久久综合网东京热 | 狠狠cao日日穞夜夜穞av | 国产网红无码精品视频 | 樱花草在线播放免费中文 | 人人妻人人澡人人爽欧美一区九九 | 在线 国产 欧美 亚洲 天堂 | 欧美三级不卡在线观看 | 岛国片人妻三上悠亚 | 色一情一乱一伦一区二区三欧美 | 日日躁夜夜躁狠狠躁 | 久久aⅴ免费观看 | 少妇被黑人到高潮喷出白浆 | 四十如虎的丰满熟妇啪啪 | 免费中文字幕日韩欧美 | 日韩av激情在线观看 | 精品国产av色一区二区深夜久久 | 国内精品一区二区三区不卡 | 国产真人无遮挡作爱免费视频 | 国产成人精品视频ⅴa片软件竹菊 | 亚洲成a人片在线观看无码 | 国产精品美女久久久久av爽李琼 | 四虎4hu永久免费 | 亚洲欧洲日本综合aⅴ在线 | 人妻与老人中文字幕 | 高清国产亚洲精品自在久久 | 免费国产黄网站在线观看 | 精品久久8x国产免费观看 | 国产av一区二区精品久久凹凸 | 精品国产一区二区三区av 性色 | 精品无码成人片一区二区98 | 国产av无码专区亚洲a∨毛片 | 欧美日韩综合一区二区三区 | 国产手机在线αⅴ片无码观看 | 亚洲色在线无码国产精品不卡 | 成人一在线视频日韩国产 | 三上悠亚人妻中文字幕在线 | 中文字幕无码免费久久9一区9 | 亚洲日韩中文字幕在线播放 | 亚洲精品久久久久avwww潮水 | 午夜福利一区二区三区在线观看 | 精品欧美一区二区三区久久久 | 日韩 欧美 动漫 国产 制服 | 久久99久久99精品中文字幕 | 丁香花在线影院观看在线播放 | 女人和拘做爰正片视频 | 性欧美牲交xxxxx视频 | 香港三级日本三级妇三级 | 国产激情一区二区三区 | 亚洲国产精品久久久久久 | 性欧美熟妇videofreesex | 香蕉久久久久久av成人 | 丰满少妇人妻久久久久久 | 成熟女人特级毛片www免费 | 国产艳妇av在线观看果冻传媒 | 少妇性俱乐部纵欲狂欢电影 | 九月婷婷人人澡人人添人人爽 | 国产亚洲日韩欧美另类第八页 | 国产片av国语在线观看 | 老熟女重囗味hdxx69 | 中文字幕无码乱人伦 | 亚洲一区二区三区国产精华液 | 最近中文2019字幕第二页 | 久久久久av无码免费网 | 久久精品女人天堂av免费观看 | 亚洲精品一区二区三区四区五区 | 玩弄中年熟妇正在播放 | 国产精品第一区揄拍无码 | 亚洲一区二区观看播放 | 内射白嫩少妇超碰 | 无码毛片视频一区二区本码 | 久热国产vs视频在线观看 | 免费国产黄网站在线观看 | 国产精品美女久久久 | 日本护士xxxxhd少妇 | 日本丰满熟妇videos | 在线а√天堂中文官网 | 成人毛片一区二区 | 男女下面进入的视频免费午夜 | 欧美熟妇另类久久久久久多毛 | 国产亚洲精品久久久久久久久动漫 | 精品午夜福利在线观看 | 人人妻人人澡人人爽精品欧美 | 久久 国产 尿 小便 嘘嘘 | 久久精品成人欧美大片 | 中文字幕中文有码在线 | 亚洲欧美精品伊人久久 | 日韩人妻无码中文字幕视频 | 欧美精品一区二区精品久久 | 成人亚洲精品久久久久 | 丰满人妻精品国产99aⅴ | 亚洲日韩精品欧美一区二区 | 乱人伦人妻中文字幕无码久久网 | 男人的天堂2018无码 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲人交乣女bbw | 欧美丰满熟妇xxxx性ppx人交 | 亚洲精品鲁一鲁一区二区三区 | 亚洲成a人片在线观看无码 | 亚洲精品一区二区三区四区五区 | 无人区乱码一区二区三区 | 日本一卡2卡3卡四卡精品网站 | 四虎国产精品一区二区 | 欧美日韩一区二区三区自拍 | 未满小14洗澡无码视频网站 | 撕开奶罩揉吮奶头视频 | 2020久久香蕉国产线看观看 | www国产亚洲精品久久久日本 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产麻豆精品精东影业av网站 | 久久久久久久女国产乱让韩 | 亚洲aⅴ无码成人网站国产app | 欧美国产日韩久久mv | 中文亚洲成a人片在线观看 | 亚洲综合在线一区二区三区 | 东京热一精品无码av | 图片区 小说区 区 亚洲五月 | 国产精品99爱免费视频 | 久久久久成人片免费观看蜜芽 | 精品国偷自产在线 | 99精品视频在线观看免费 | 噜噜噜亚洲色成人网站 | 亚洲s码欧洲m码国产av | 在线视频网站www色 | 亚洲无人区午夜福利码高清完整版 | 久久久中文久久久无码 | 久久久久人妻一区精品色欧美 | 欧美性猛交内射兽交老熟妇 | 国产精品亚洲专区无码不卡 | 国产免费观看黄av片 | 久久伊人色av天堂九九小黄鸭 | 兔费看少妇性l交大片免费 | av无码不卡在线观看免费 | 中文字幕无码免费久久9一区9 | 任你躁国产自任一区二区三区 | 曰韩少妇内射免费播放 | 天堂а√在线中文在线 | 青草视频在线播放 | 欧美兽交xxxx×视频 | 亚洲男人av香蕉爽爽爽爽 | 色诱久久久久综合网ywww | 国产精品第一区揄拍无码 | 国产精品久久久午夜夜伦鲁鲁 | 六十路熟妇乱子伦 | 亚洲成a人片在线观看无码 | 亚洲一区av无码专区在线观看 | 男人和女人高潮免费网站 | 亚洲伊人久久精品影院 | 初尝人妻少妇中文字幕 | 成人免费无码大片a毛片 | 装睡被陌生人摸出水好爽 | 377p欧洲日本亚洲大胆 | 国产网红无码精品视频 | 婷婷色婷婷开心五月四房播播 | 精品无码一区二区三区的天堂 | 国产精品人人爽人人做我的可爱 | 亚洲综合色区中文字幕 | 国产真实乱对白精彩久久 | 日日麻批免费40分钟无码 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 国产偷国产偷精品高清尤物 | 双乳奶水饱满少妇呻吟 | 噜噜噜亚洲色成人网站 | 色欲人妻aaaaaaa无码 | 特黄特色大片免费播放器图片 | 亚欧洲精品在线视频免费观看 | 欧美刺激性大交 | 国产 精品 自在自线 | 精品夜夜澡人妻无码av蜜桃 | 宝宝好涨水快流出来免费视频 | 国产特级毛片aaaaaa高潮流水 | 欧美性生交活xxxxxdddd | 性色av无码免费一区二区三区 | 伊在人天堂亚洲香蕉精品区 | 牲欲强的熟妇农村老妇女 | 性欧美大战久久久久久久 | 国产成人人人97超碰超爽8 | 一本久道久久综合婷婷五月 | 美女毛片一区二区三区四区 | 国产av人人夜夜澡人人爽麻豆 | 国产成人午夜福利在线播放 | 久久国产精品_国产精品 | 福利一区二区三区视频在线观看 | 亚洲一区二区三区四区 | 日韩精品无码一区二区中文字幕 | 88国产精品欧美一区二区三区 | 特级做a爰片毛片免费69 | 美女黄网站人色视频免费国产 | 欧美日韩一区二区三区自拍 | 无码人妻丰满熟妇区毛片18 | 日日噜噜噜噜夜夜爽亚洲精品 | 午夜无码人妻av大片色欲 | 欧美freesex黑人又粗又大 | 国产精品亚洲а∨无码播放麻豆 | 日本丰满护士爆乳xxxx | 免费无码的av片在线观看 | 亚洲欧美色中文字幕在线 | 特大黑人娇小亚洲女 | 一本久道久久综合婷婷五月 | 国产无遮挡又黄又爽又色 | 人妻无码αv中文字幕久久琪琪布 | 小鲜肉自慰网站xnxx | 人妻天天爽夜夜爽一区二区 | 国精产品一区二区三区 | 九九久久精品国产免费看小说 | 4hu四虎永久在线观看 | 日本免费一区二区三区最新 | 99久久久无码国产精品免费 | 久久久久久久久888 | 亚洲区小说区激情区图片区 | 精品国偷自产在线视频 | 亚洲综合精品香蕉久久网 | 99久久婷婷国产综合精品青草免费 | 亚洲s色大片在线观看 | 久久久国产一区二区三区 | 亚洲精品鲁一鲁一区二区三区 | 日本一本二本三区免费 | 久久综合九色综合97网 | 亚洲色无码一区二区三区 | 日本熟妇大屁股人妻 | 亚洲精品欧美二区三区中文字幕 | 人人澡人人妻人人爽人人蜜桃 | 国产av剧情md精品麻豆 | 久久久精品国产sm最大网站 | 人妻少妇被猛烈进入中文字幕 | a片在线免费观看 | 国产精品福利视频导航 | 成人无码影片精品久久久 | 少女韩国电视剧在线观看完整 | 任你躁国产自任一区二区三区 | 久久久久99精品国产片 | 人妻少妇精品视频专区 | 国产色xx群视频射精 | 日韩少妇白浆无码系列 | 在线播放亚洲第一字幕 | 国产成人无码专区 | 亚洲精品www久久久 | 又粗又大又硬又长又爽 | 久久熟妇人妻午夜寂寞影院 | 国精品人妻无码一区二区三区蜜柚 | 色婷婷av一区二区三区之红樱桃 | 日日麻批免费40分钟无码 | 爽爽影院免费观看 | 黑人巨大精品欧美黑寡妇 | 欧美兽交xxxx×视频 | 亚洲自偷自拍另类第1页 | 美女极度色诱视频国产 | 久久久久成人片免费观看蜜芽 | 综合网日日天干夜夜久久 | 未满小14洗澡无码视频网站 | 亚洲日韩乱码中文无码蜜桃臀网站 | 真人与拘做受免费视频一 | 中文字幕日韩精品一区二区三区 | 色婷婷香蕉在线一区二区 | 精品无码一区二区三区的天堂 | 国产精品永久免费视频 | 久久无码中文字幕免费影院蜜桃 | 成人无码精品1区2区3区免费看 | 色欲久久久天天天综合网精品 | 中文字幕乱码中文乱码51精品 | 午夜福利试看120秒体验区 | 熟妇人妻无乱码中文字幕 | 高潮毛片无遮挡高清免费视频 | 国产乱子伦视频在线播放 | 少妇被黑人到高潮喷出白浆 | 白嫩日本少妇做爰 | 午夜理论片yy44880影院 | 国产一区二区不卡老阿姨 | 精品欧洲av无码一区二区三区 | 99久久久无码国产精品免费 | 双乳奶水饱满少妇呻吟 | 乱人伦人妻中文字幕无码久久网 | 久久国产36精品色熟妇 | 亚洲爆乳大丰满无码专区 | 白嫩日本少妇做爰 | 日本免费一区二区三区最新 | 人人妻人人澡人人爽人人精品浪潮 | 亚洲综合久久一区二区 | 好爽又高潮了毛片免费下载 | 久久国产劲爆∧v内射 | 久久久中文久久久无码 | 国产亚洲精品精品国产亚洲综合 | 国产成人久久精品流白浆 | 国产在热线精品视频 | 图片区 小说区 区 亚洲五月 | 国产偷自视频区视频 | 99国产精品白浆在线观看免费 | 在线精品国产一区二区三区 | 男人的天堂2018无码 | 国产精品高潮呻吟av久久 | 九月婷婷人人澡人人添人人爽 | 99re在线播放 | 扒开双腿吃奶呻吟做受视频 | 亚洲中文字幕无码一久久区 | 丰满人妻翻云覆雨呻吟视频 | 国产av人人夜夜澡人人爽麻豆 | 77777熟女视频在线观看 а天堂中文在线官网 | 成人一区二区免费视频 | 婷婷丁香六月激情综合啪 | 97无码免费人妻超级碰碰夜夜 | 超碰97人人做人人爱少妇 | 国内揄拍国内精品少妇国语 | 天下第一社区视频www日本 | 天天摸天天碰天天添 | 人人澡人人透人人爽 | 亚洲精品国产精品乱码视色 | 一本久道高清无码视频 | 国产人妻人伦精品1国产丝袜 | 欧美日本精品一区二区三区 | 国内精品九九久久久精品 | 亚洲成a人片在线观看日本 | 亚洲精品国产a久久久久久 | 亚洲狠狠婷婷综合久久 | 日本爽爽爽爽爽爽在线观看免 | 日本一区二区三区免费高清 | 极品嫩模高潮叫床 | 欧美丰满老熟妇xxxxx性 | 日韩人妻无码一区二区三区久久99 | 午夜精品久久久久久久久 | 东京热男人av天堂 | 天天摸天天碰天天添 | 亚洲中文字幕va福利 | 亚洲欧美国产精品专区久久 | 野外少妇愉情中文字幕 | 欧美性生交活xxxxxdddd | 人人澡人人透人人爽 | 日本www一道久久久免费榴莲 | 国产成人无码a区在线观看视频app | 午夜精品久久久内射近拍高清 | 亚洲一区二区三区偷拍女厕 | 亚洲国产成人av在线观看 | 影音先锋中文字幕无码 | 亚洲国产精品美女久久久久 | 国产精品视频免费播放 | 少妇高潮喷潮久久久影院 | 亚洲人成影院在线观看 | 在线播放免费人成毛片乱码 | 久久精品99久久香蕉国产色戒 | 爱做久久久久久 | 中文精品久久久久人妻不卡 | 国产精品久久久久久久9999 | 六十路熟妇乱子伦 | 夜夜躁日日躁狠狠久久av | 未满小14洗澡无码视频网站 | 99久久精品无码一区二区毛片 | 99久久精品国产一区二区蜜芽 | 强辱丰满人妻hd中文字幕 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产精品美女久久久久av爽李琼 | 国产精品-区区久久久狼 | 久久99久久99精品中文字幕 | 九九久久精品国产免费看小说 | 日韩亚洲欧美精品综合 | 久久久亚洲欧洲日产国码αv | 国产 浪潮av性色四虎 | 亚洲日本一区二区三区在线 | 久久国产劲爆∧v内射 | 纯爱无遮挡h肉动漫在线播放 | 免费国产黄网站在线观看 | 久久精品国产一区二区三区 | 任你躁在线精品免费 | 国产在线精品一区二区三区直播 | 国产精品久免费的黄网站 | 亚洲欧美日韩成人高清在线一区 | 377p欧洲日本亚洲大胆 | 国产成人无码a区在线观看视频app | 亚洲精品国产a久久久久久 | 一本色道久久综合亚洲精品不卡 | 最近中文2019字幕第二页 | 2020久久超碰国产精品最新 | 国产乱人伦av在线无码 | 国产性生交xxxxx无码 | 国产成人一区二区三区在线观看 | 亚洲国产av精品一区二区蜜芽 | 国产亚洲视频中文字幕97精品 | 18无码粉嫩小泬无套在线观看 | 成人无码精品1区2区3区免费看 | 亚洲人成无码网www | 亚洲国产高清在线观看视频 | 永久免费精品精品永久-夜色 | 国产精品怡红院永久免费 | 亚洲国产av精品一区二区蜜芽 | 免费看男女做好爽好硬视频 |