日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++编写断点续传和多线程下载模块【转】

發布時間:2023/12/20 c/c++ 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++编写断点续传和多线程下载模块【转】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在當今的網絡時代,下載軟件是使用最為頻繁的軟件之一。幾年來,下載技術也在不停地發展。最原始的下載功能僅僅是個“下載”過程,即從WEB服務器上連續地讀取文件。其最大的問題是,由于網絡的不穩定性,一旦連接斷開使得下載過程中斷,就不得不全部從頭再來一次。

  隨后,“斷點續傳”的概念就出來了,顧名思義,就是如果下載中斷,在重新建立連接后,跳過已經下載的部分,而只下載還沒有下載的部分。

   無論“多線程下載”技術是否洪以容先生的發明,洪以容使得這項技術得到前所未有的關注是不爭的事實。在“網絡螞蟻”軟件流行開后,許多下載軟件也都紛紛 效仿,是否具?quot;多線程下載"技術、甚至能支持多少個下載線程都成了人們評測下載軟件的要素。"多線程下載"的基礎是WEB服務器支持遠程的隨機 讀取,也即支持"斷點續傳"。這樣,在下載時可以把文件分成若干部分,每一部分創建一個下載線程進行下載。

  現在,不要說編寫專門的下載 軟件,在自己編寫的軟件中,加入下載功能有時也非常必要。如讓自己的軟件支持自動在線升級,或者在軟件中自動下載新的數據進行數據更新,這都是很有用、而 且很實用的功能。本文的主題即怎樣編寫一個支持"斷點續傳"和"多線程"的下載模塊。當然,下載的過程非常復雜,在一篇文章中難以全部闡明,所以,與下載 過程關系不直接的部分基本上都忽略了,如異常處理和網絡錯誤處理等,敬請各位讀者注意。我使用的開發環境是C++ Builder 5.0,使用其他開發環境或者編程語言的朋友請自行作適當修改。

  HTTP協議簡介

  下載文件是電腦與WEB服務器交互的過程,它們交互的"語言"的專業名稱是協議。傳送文件的協議有多種,最常用的是HTTP(超文本傳輸協議)和FTP(文件傳送協議),我采用的是HTTP。

HTTP協議最基本的命令只有三條:Get、Post和Head。Get從WEB服務器請求一個特定的對象,比如HTML頁面或者一個文件,WEB 服務器通過一個Socket連接發送此對象作為響應;Head命令使服務器給出此對象的基本描述,比如對象的類型、大小和更新時間。Post命令用于向 WEB服務器發送數據,通常使把信息發送給一個單獨的應用程序,經處理生成動態的結果返回給瀏覽器。下載即是通過Get命令實現。

  基本的下載過程

   編寫下載程序,可以直接使用Socket函數,但是這要求開發人員理解、熟悉TCP/IP協議。為了簡化Internet客戶端軟件的開 發,Windows提供了一套WinInet API,對常用的網絡協議進行了封裝,把開發Internet軟件的門檻大大降低了。我們需要使用的WinInet API函數如圖1所示,調用順序基本上是從上到下,其具體的函數原型請參考MSDN。

  圖1

  在使用這些函數時,必須嚴格區分它們使用的句柄。這些句柄的類型是一樣的,都是HINTERNET,但是作用不同,這一點非常讓人迷惑。按照這些句柄的產生順序和調用關系,可以分為三個級別,下一級的句柄由上一級的句柄得到。

  InternetOpen是最先調用的函數,它返回的HINTERNET句柄級別最高,我習慣定義為hSession,即會話句柄。

  InternetConnect使用hSession句柄,返回的是http連接句柄,我把它定義為hConnect。

  HttpOpenRequest使用hConnect句柄,返回的句柄是http請求句柄,定義為hRequest。

  HttpSendRequest、HttpQueryInfo、InternetSetFilePointer和InternetReadFile都使用HttpOpenRequest返回的句柄,即hRequest。

  當這幾個句柄不再使用是,應該用函數InternetCloseHandle把它關閉,以釋放其占用的資源。

首先建立一個名為THttpGetThread、創建后自動掛起的線程模塊,我希望線程在完成后自動銷毀,所以在構造函數中設置:

  FreeOnTerminate = True; // 自動刪除

  并增加以下成員變量:

char?Buffer[HTTPGET_BUFFER_MAX+4];?//?數據緩沖區
AnsiString?FURL;?//?下載對象的URL
AnsiString?FOutFileName;?//?保存的路徑和名稱
HINTERNET?FhSession;?//?會話句柄
HINTERNET?FhConnect;?//?http連接句柄
HINTERNET?FhRequest;?//?http請求句柄
bool?FSuccess;?//?下載是否成功
int?iFileHandle;?//?輸出文件的句柄

?

?、建⒘?lt;/p>

  按照功能劃分,下載過程可以分為4部分,即建立連接、讀取待下載文件的信息并分析、下載文件和釋 放占用的資源。建立連接的函數如下,其中ParseURL的作用是從下載URL地址中取得主機名稱和下載的文件的WEB路 徑,DoOnStatusText用于輸出當前的狀態:

?

?

//初始化下載環境
void?THttpGetThread::StartHttpGet(void)
{
??AnsiString?HostName,FileName;
??ParseURL(HostName,?FileName);
??
try
??{
?
//?1.建立會話
   ?FhSession?=?InternetOpen("http-get-demo",
?INTERNET_OPEN_TYPE_PRECONFIG,
?NULL,NULL,
?
0);?//?同步方式
   ?if(?FhSession==NULL)throw(Exception("Error:InterOpen"));
?DoOnStatusText(
"ok:InterOpen");
?
//?2.建立連接
   ?FhConnect=InternetConnect(FhSession,
?HostName.c_str(),
?INTERNET_DEFAULT_HTTP_PORT,
?NULL,NULL,
?INTERNET_SERVICE_HTTP,?
0,?0);
?
if(FhConnect==NULL)throw(Exception("Error:InternetConnect"));
?DoOnStatusText(
"ok:InternetConnect");
?
//?3.初始化下載請求
   ?const?char?*FAcceptTypes?=?"*/*";
?FhRequest?
=?HttpOpenRequest(FhConnect,
?
"GET",?//?從服務器獲取數據
      ?FileName.c_str(),?//?想讀取的文件的名稱
      ?"HTTP/1.1",?//?使用的協議
      ?NULL,
?
&FAcceptTypes,
?INTERNET_FLAG_RELOAD,
?
0);
?
if(?FhRequest==NULL)throw(Exception("Error:HttpOpenRequest"));
?DoOnStatusText(
"ok:HttpOpenRequest");
?
//?4.發送下載請求
   ?HttpSendRequest(FhRequest,?NULL,?0,?NULL,?0);
?DoOnStatusText(
"ok:HttpSendRequest");
??}
catch(Exception?&exception)
??{
?EndHttpGet();?
//?關閉連接,釋放資源
   ?DoOnStatusText(exception.Message);
??}
}
//?從URL中提取主機名稱和下載文件路徑
void?THttpGetThread::ParseURL(AnsiString?&HostName,AnsiString?&FileName)
{
??AnsiString?URL
=FURL;
??
int?i=URL.Pos("http://");
??
if(i>0)
??{
?URL.Delete(
1,?7);
??}
??i
=URL.Pos("/");
??HostName?
=?URL.SubString(1,?i-1);
??FileName?
=?URL.SubString(i,?URL.Length());
}

?

???? 可以看到,程序按照圖1中的順序,依次調用InternetOpen、InternetConnect、HttpOpenRequest函數得到3個相關的句柄,然后通過HttpSendRequest函數把下載的請求發送給WEB服務器。

  InternetOpen的第一個參數是無關的,最后一個參數如果設置為INTERNET_FLAG_ASYNC,則將建立異步連接,這很有實際意義,考慮到本文的復雜程度,我沒有采用。但是對于需要更高下載要求的讀者,強烈建議采用異步方式。

  HttpOpenRequest打開一個請求句柄,命令是"GET",表示下載文件,使用的協議是"HTTP/1.1"。

  另外一個需要注意的地方是HttpOpenRequest的參數FAcceptTypes,表示可以打開的文件類型,我設置為"*/*"表示可以打開所有文件類型,可以根據實際需要改變它的值。

  2、讀取待下載的文件的信息并分析

  在發送請求后,可以使用HttpQueryInfo函數獲取文件的有關信息,或者取得服務器的信息以及服務器支持的相關操作。對于下載程序,最常用的是傳遞HTTP_QUERY_CONTENT_LENGTH參數取得文件的大小,即文件包含的字節數。模塊如下所示:

//?取得待下載文件的大小
int?__fastcall?THttpGetThread::GetWEBFileSize(void)
{
??
try
??{
?DWORD?BufLen
=HTTPGET_BUFFER_MAX;
?DWORD?dwIndex
=0;
?
bool?RetQueryInfo=HttpQueryInfo(FhRequest,
?HTTP_QUERY_CONTENT_LENGTH,
?Buffer,?
&BufLen,
?
&dwIndex);
?
if(?RetQueryInfo==false)?throw(Exception("Error:HttpQueryInfo"));
?DoOnStatusText(
"ok:HttpQueryInfo");
?
int?FileSize=StrToInt(Buffer);?//?文件大小
   ?DoOnGetFileSize(FileSize);
??}
catch(Exception?&exception)
??{
?DoOnStatusText(exception.Message);
??}
??
return?FileSize;
}

?

????? 模塊中的DoOnGetFileSize是發出取得文件大小的事件。取得文件大小后,對于采用多線程的下載程序,可以按照這個值進行合適的文件分塊,確定每個文件塊的起點和大小。

  3、下載文件的模塊

  開始下載前,還應該先安排好怎樣保存下載結果。方法很多,我直接采用了C++ Builder提供的文件函數打開一個文件句柄。當然,也可以采用Windows本身的API,對于小文件,全部緩沖到內存中也可以考慮。

//?打開輸出文件,以保存下載的數據
DWORD?THttpGetThread::OpenOutFile(void)
{
??
try
??{
??
if(FileExists(FOutFileName))
?DeleteFile(FOutFileName);
??iFileHandle
=FileCreate(FOutFileName);
??
if(iFileHandle==-1)?throw(Exception("Error:FileCreate"));
??DoOnStatusText(
"ok:CreateFile");
??}
catch(Exception?&exception)
??{
?DoOnStatusText(exception.Message);
??}
??
return?0;
}
//?執行下載過程
void?THttpGetThread::DoHttpGet(void)
{
??DWORD?dwCount
=OpenOutFile();
??
try
??{
?
//?發出開始下載事件
   ?DoOnStatusText("StartGet:InternetReadFile");
?
//?讀取數據
   ?DWORD?dwRequest;?//?請求下載的字節數
   ?DWORD?dwRead;?//?實際讀出的字節數
   ?dwRequest=HTTPGET_BUFFER_MAX;
?
while(true)
?{
??Application
->ProcessMessages();
??
bool?ReadReturn?=?InternetReadFile(FhRequest,
?(LPVOID)Buffer,
?dwRequest,
?
&dwRead);
??
if(!ReadReturn)break;
??
if(dwRead==0)break;
??
//?保存數據
    ??Buffer[dwRead]='\0';
??FileWrite(iFileHandle,?Buffer,?dwRead);
??dwCount?
=?dwCount?+?dwRead;
??
//?發出下載進程事件
    ??DoOnProgress(dwCount);
?}
?Fsuccess
=true;
??}
catch(Exception?&exception)
??{
?Fsuccess
=false;
?DoOnStatusText(exception.Message);
??}
??FileClose(iFileHandle);
??DoOnStatusText(
"End:InternetReadFile");
}

?下載過程并不復雜,與讀取本地文件一樣,執行一個簡單的循環。當然,如此方便的編程還是得益于微軟對網絡協議的封裝。

  4、釋放占用的資源

  這個過程很簡單,按照產生各個句柄的相反的順序調用InternetCloseHandle函數即可。

void?THttpGetThread::EndHttpGet(void)
{
??
if(FConnected)
??{
?DoOnStatusText(
"Closing:InternetConnect");
?
try
?{
??InternetCloseHandle(FhRequest);
??InternetCloseHandle(FhConnect);
??InternetCloseHandle(FhSession);
?}
catch(){}
?FhSession
=NULL;
?FhConnect
=NULL;
?FhRequest
=NULL;
?FConnected
=false;
?DoOnStatusText(
"Closed:InternetConnect");
??}
}

???? 我覺得,在釋放句柄后,把變量設置為NULL是一種良好的編程習慣。在這個示例中,還出于如果下載失敗,重新進行下載時需要再次利用這些句柄變量的考慮。

  5、功能模塊的調用

  這些模塊的調用可以安排在線程對象的Execute方法中,如下所示:

void?__fastcall?THttpGetThread::Execute()
{
??FrepeatCount
=5;
??
for(int?i=0;i<FRepeatCount;i++)
??{
?StartHttpGet();
?GetWEBFileSize();
?DoHttpGet();
?EndHttpGet();
?
if(FSuccess)break;
??}
??
//?發出下載完成事件
 ??if(FSuccess)DoOnComplete();
??
else?DoOnError();
}

??? 這里執行了一個循環,即如果產生了錯誤自動重新進行下載,實際編程中,重復次數可以作為參數自行設置。

  實現斷點續傳功能

  在基本下載的代碼上實現斷點續傳功能并不是很復雜,主要的問題有兩點:

   1、 檢查本地的下載信息,確定已經下載的字節數。所以應該對打開輸出文件的函數作適當修改。我們可以建立一個輔助文件保存下載的信息,如已經下載的字節數等。 我處理得較為簡單,先檢查輸出文件是否存在,如果存在,再得到其大小,并以此作為已經下載的部分。由于Windows沒有直接取得文件大小的API,我編 寫了GetFileSize函數用于取得文件大小。注意,與前面相同的代碼被省略了。

DWORD?THttpGetThread::OpenOutFile(void)
{
??……
??
if(FileExists(FOutFileName))
??{
?DWORD?dwCount
=GetFileSize(FOutFileName);
?
if(dwCount>0)
?{
??iFileHandle
=FileOpen(FOutFileName,fmOpenWrite);
??FileSeek(iFileHandle,
0,2);?//?移動文件指針到末尾
    ??if(iFileHandle==-1)?throw(Exception("Error:FileCreate"));
??DoOnStatusText(
"ok:OpenFile");
??
return?dwCount;
?}
?DeleteFile(FOutFileName);
??}
??……
}

?2、 在開始下載文件(即執行InternetReadFile函數)之前,先調整WEB上的文件指針。這就要求WEB服務器支持隨機讀取文件的操作,有些服務器對此作了限制,所以應該判斷這種可能性。對DoHttpGet模塊的修改如下,同樣省略了相同的代碼:

void?THttpGetThread::DoHttpGet(void)
{
??DWORD?dwCount
=OpenOutFile();
??
if(dwCount>0)?//?調整文件指針
 ??{
?dwStart?
=?dwStart?+?dwCount;
?
if(!SetFilePointer())?//?服務器不支持操作
   ?{
??
//?清除輸出文件
    ??FileSeek(iFileHandle,0,0);?//?移動文件指針到頭部
   ?}
??}
??……
}

?多線程下載

  要實現多線程下載,最主要的問題是下載線程的創建和管理,已經下載完成后文件的各個部分的準確合并,同時,下載線程也要作必要的修改。

  1、下載線程的修改

  為了適應多線程程序,我在下載線程加入如下成員變量:

  int FIndex; // 在線程數組中的索引

  DWORD dwStart; // 下載開始的位置

  DWORD dwTotal; // 需要下載的字節數

  DWORD FGetBytes; // 下載的總字節數

  并加入如下屬性值:

__property?AnsiString?URL?=?{?read=FURL,?write=FURL?};
__property?AnsiString?OutFileName?
=?{?read=FOutFileName,?write=FOutFileName};
__property?
bool?Successed?=?{?read=FSuccess};
__property?
int?Index?=?{?read=FIndex,?write=FIndex};
__property?DWORD?StartPostion?
=?{?read=dwStart,?write=dwStart};
__property?DWORD?GetBytes?
=?{?read=dwTotal,?write=dwTotal};
__property?TOnHttpCompelete?OnComplete?
=?{?read=FOnComplete,?write=FOnComplete?};

?同時,在下載過程DoHttpGet中增加如下處理,

void?THttpGetThread::DoHttpGet(void)
{
??……
??
try
??{
?……
?
while(true)
?{
??Application
->ProcessMessages();
??
//?修正需要下載的字節數,使得dwRequest?+?dwCount?<dwTotal;
    ??if(dwTotal>0)?//?dwTotal=0表示下載到文件結束
    ??{
?
if(dwRequest+dwCount>dwTotal)
?dwRequest
=dwTotal-dwCount;
??}
??……
??
if(dwTotal>0)?//?dwTotal?<=0表示下載到文件結束
    ??{
?
if(dwCount>=dwTotal)break;
??}
?}
??}
??……
??
if(dwCount==dwTotal)FSuccess=true;
}

?2、建立多線程下載組件

  我先建立了以TComponent為基類、名為THttpGetEx的組件模塊,并增加以下成員變量:

//?內部變量

THttpGetThread?
**HttpThreads;?//?保存建立的線程

AnsiString?
*OutTmpFiles;?//?保存結果文件各個部分的臨時文件

bool?*FSuccesss;?//?保存各個線程的下載結果

//?以下是屬性變量

int?FHttpThreadCount;?//?使用的線程個數

AnsiString?FURL;

AnsiString?FOutFileName;

?各個變量的用途都如代碼注釋,其中的FSuccess的作用比較特別,下文會再加以詳細解釋。因為線程的運行具有不可逆性,而組件可能會連續地下載不同的 文件,所以下載線程只能動態創建,使用后隨即銷毀。創建線程的模塊如下,其中GetSystemTemp函數取得系統的臨時文件 夾,OnThreadComplete是線程下載完成后的事件,其代碼在其后介紹:

//?分配資源
void?THttpGetEx::AssignResource(void)
{
??FSuccesss
=new?bool[FHttpThreadCount];
??
for(int?i=0;i<FHttpThreadCount;i++)
?FSuccesss[i]
=false;
??OutTmpFiles?
=?new?AnsiString[FHttpThreadCount];
??AnsiString?ShortName
=ExtractFileName(FOutFileName);
??AnsiString?Path
=GetSystemTemp();
??
for(int?i=0;i<FHttpThreadCount;i++)
?OutTmpFiles[i]
=Path+ShortName+"-"+IntToStr(i)+".hpt";
??HttpThreads?
=?new?THttpGetThread?*[FHttpThreadCount];
}
//?創建一個下載線程
THttpGetThread?*?THttpGetEx::CreateHttpThread(void)
{
??THttpGetThread?
*HttpThread=new?THttpGetThread(this);
??HttpThread
->URL=FURL;
??……?
//?初始化事件
 ??HttpThread->OnComplete=OnThreadComplete;?//?線程下載完成事件
 ??return?HttpThread;
}
//?創建下載線程數組
void?THttpGetEx::CreateHttpThreads(void)
{
??AssignResource();
??
//?取得文件大小,以決定各個線程下載的起始位置
 ??THttpGetThread?*HttpThread=CreateHttpThread();
??HttpThreads[FHttpThreadCount
-1]=HttpThread;
??
int?FileSize=HttpThread->GetWEBFileSize();
??
//?把文件分成FHttpThreadCount塊
 ??int?AvgSize=FileSize/FHttpThreadCount;
??
int?*Starts=?new?int[FHttpThreadCount];
??
int?*Bytes?=?new?int[FHttpThreadCount];
??
for(int?i=0;i<FHttpThreadCount;i++)
??{
?Starts[i]
=i*AvgSize;
?Bytes[i]?
=AvgSize;
??}
??
//?修正最后一塊的大小
 ??Bytes[FHttpThreadCount-1]=AvgSize+(FileSize-AvgSize*FHttpThreadCount);
??
//?檢查服務器是否支持斷點續傳
 ??HttpThread->StartPostion=Starts[FHttpThreadCount-1];
??HttpThread
->GetBytes=Bytes[FHttpThreadCount-1];
??
bool?CanMulti=HttpThread->SetFilePointer();
??
if(CanMulti==false)?//?不支持,直接下載
 ??{
?FHttpThreadCount
=1;
?HttpThread
->StartPostion=0;
?HttpThread
->GetBytes=FileSize;
?HttpThread
->Index=0;
?HttpThread
->OutFileName=OutTmpFiles[0];
??}
else
??{
?HttpThread
->OutFileName=OutTmpFiles[FHttpThreadCount-1];
?HttpThread
->Index=FHttpThreadCount-1;
?
//?支持斷點續傳,建立多個線程
   ?for(int?i=0;i<FHttpThreadCount-1;i++)
?{
??HttpThread
=CreateHttpThread();
??HttpThread
->StartPostion=Starts[i];
??HttpThread
->GetBytes=Bytes[i];
??HttpThread
->OutFileName=OutTmpFiles[i];
??HttpThread
->Index=i;
??HttpThreads[i]
=HttpThread;
?}
??}
??
//?刪除臨時變量
 ??delete?Starts;
??delete?Bytes;
}

?下載文件的下載的函數如下:

void?__fastcall?THttpGetEx::DownLoadFile(void)
{
??CreateHttpThreads();
??THttpGetThread?
*HttpThread;
??
for(int?i=0;i<FHttpThreadCount;i++)
??{
?HttpThread
=HttpThreads[i];
?HttpThread
->Resume();
??}
}

?線程下載完成后,會發出OnThreadComplete事件,在這個事件中判斷是否所有下載線程都已經完成,如果是,則合并文件的各個部分。應該注意, 這里有一個線程同步的問題,否則幾個線程同時產生這個事件時,會互相沖突,結果也會混亂。同步的方法很多,我的方法是創建線程互斥對象。

const?char?*MutexToThread="http-get-thread-mutex";
void?__fastcall?THttpGetEx::OnThreadComplete(TObject?*Sender,?int?Index)
{
??
//?創建互斥對象
 ??HANDLE?hMutex=?CreateMutex(NULL,FALSE,MutexToThread);
??DWORD?Err
=GetLastError();
??
if(Err==ERROR_ALREADY_EXISTS)?//?已經存在,等待
 ??{
?WaitForSingleObject(hMutex,INFINITE);
//8000L);
   ?hMutex=?CreateMutex(NULL,FALSE,MutexToThread);
??}
??
//?當一個線程結束時,檢查是否全部認為完成
 ??FSuccesss[Index]=true;
??
bool?S=true;
??
for(int?i=0;i<FHttpThreadCount;i++)
??{
?S?
=?S?&&?FSuccesss[i];
??}
??ReleaseMutex(hMutex);
??
if(S)//?下載完成,合并文件的各個部分
 ??{
?
//?1.?復制第一部分
   ?CopyFile(OutTmpFiles[0].c_str(),FOutFileName.c_str(),false);
?
//?添加其他部分
   ?int?hD=FileOpen(FOutFileName,fmOpenWrite);
?FileSeek(hD,
0,2);?//?移動文件指針到末尾
   ?if(hD==-1)
?{
??DoOnError();
??
return;
?}
?
const?int?BufSize=1024*4;
?
char?Buf[BufSize+4];
?
int?Reads;
?
for(int?i=1;i<FHttpThreadCount;i++)
?{
??
int?hS=FileOpen(OutTmpFiles[i],fmOpenRead);
??
//?復制數據
    ??Reads=FileRead(hS,(void?*)Buf,BufSize);
??
while(Reads>0)
??{
?FileWrite(hD,(
void?*)Buf,Reads);
?Reads
=FileRead(hS,(void?*)Buf,BufSize);
??}
??FileClose(hS);
?}
?FileClose(hD);
??}
}

?結語

?到此,多線程下載的關鍵部分就介紹完了。但是在實際應用時,還有許多應該考慮的因素,如網絡速度、斷線等等都是必須 考慮的。當然還有一些細節上的考慮,但是限于篇幅,就難以一一寫明了。如果讀者朋友能夠參照本文編寫出自己滿意的下載程序,我也就非常欣慰了。我也非常希 望讀者能由此與我互相學習,共同進步。

?

?

?

?

?

?

?


?

?

轉載于:https://www.cnblogs.com/NeuqUstcIim/archive/2008/08/19/1271394.html

總結

以上是生活随笔為你收集整理的c++编写断点续传和多线程下载模块【转】的全部內容,希望文章能夠幫你解決所遇到的問題。

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

一区二区视频在线免费观看 | 夜夜骑日日操 | 国内精品小视频 | 亚洲成人免费在线 | 久久精品黄 | 狠狠色狠狠色综合日日92 | 日本中文在线播放 | 91麻豆视频| 在线中文字幕观看 | 国产精品97| 日韩色在线 | 国外成人在线视频网站 | 这里只有精品视频在线观看 | 色在线视频网 | 国产精品色在线 | 国产美女精品视频 | 国产一级免费电影 | 久久6精品 | 91精品系列 | av电影中文字幕 | 成人午夜免费剧场 | av大全在线 | 中文字幕乱码一区二区 | 黄色毛片在线 | 一区二区电影网 | 日韩美女久久 | 91超级碰| 又黄又刺激的视频 | 欧美视频99 | 亚洲精品1区2区3区 超碰成人网 | 99久久精品免费看国产一区二区三区 | 国产精品自产拍在线观看 | 婷婷香蕉 | 黄色网在线免费观看 | 欧美日韩高清一区二区 | 涩涩成人在线 | 欧美午夜一区二区福利视频 | 亚洲砖区区免费 | 国产经典 欧美精品 | 探花视频在线版播放免费观看 | 久久亚洲综合国产精品99麻豆的功能介绍 | 青春草视频 | 日韩高清在线看 | 欧美成人h版 | 日韩在观看线 | 亚洲伊人天堂 | 亚洲欧美综合精品久久成人 | 亚洲国产精品va在线看黑人 | 国产成人a亚洲精品 | 不卡精品| 91大神免费视频 | 在线观看网站黄 | 欧美成人影音 | 欧美日高清视频 | 欧美一级黄色视屏 | av日韩在线网站 | 国产精品岛国久久久久久久久红粉 | 日本在线观看黄色 | 91.dizhi永久地址最新 | 国产午夜精品一区二区三区欧美 | 成人av免费看 | 亚洲精品久久久蜜桃直播 | 久久五月天综合 | 91入口在线观看 | 中文字幕在线观看第三页 | 久久久午夜视频 | 91精品视频导航 | 高潮久久久 | 综合亚洲视频 | avove黑丝 | 国产主播99 | 久久久久女人精品毛片九一 | 亚洲精品毛片一级91精品 | 夜夜操狠狠操 | 国产精品永久在线 | 永久免费av在线播放 | 欧美日韩国产亚洲乱码字幕 | 亚洲涩涩网站 | 久草视频手机在线 | 亚洲自拍偷拍色图 | 午夜精品久久久久久久99无限制 | 精品国产成人在线影院 | 欧美中文字幕久久 | 婷婷六月天天 | 视频三区在线 | 日日夜夜精品 | 激情欧美一区二区免费视频 | 四虎影视精品成人 | 亚洲电影久久 | 日韩高清免费无专码区 | 成人国产综合 | 在线精品观看国产 | 伊甸园av在线| 激情开心色 | 69av在线播放 | 一区二区三区四区精品视频 | 亚洲免费av网站 | 欧美日韩精品在线观看视频 | 激情九九 | 激情自拍av | 色视频网站在线 | 国产一级片直播 | 91资源在线播放 | 国产精品毛片久久久 | 国产黄在线观看 | 天天干天天综合 | www好男人| 国产区精品 | 在线观看欧美成人 | 久久久综合九色合综国产精品 | 黄色不卡av | 少妇性xxx | 人人舔人人爽 | 在线观看岛国av | 久久综合精品国产一区二区三区 | 一区二区视频在线播放 | 亚洲伦理中文字幕 | 久久天天躁夜夜躁狠狠85麻豆 | 日本一区二区免费在线观看 | 日本精品中文字幕在线观看 | 婷婷六月天在线 | 国产午夜剧场 | 中文字幕在 | 国产a级精品 | 一区二区三区四区精品 | 在线播放视频一区 | 片网址| 亚洲japanese制服美女 | 成人av影院在线观看 | 97看片| 日韩不卡高清 | 麻豆91精品91久久久 | 蜜臀aⅴ国产精品久久久国产 | www亚洲一区| 免费观看成人av | 亚洲成人黄色av | 久久久高清视频 | 免费观看一级一片 | 91精品视频在线看 | 欧美精品乱码久久久久 | 最近日本字幕mv免费观看在线 | 成 人 黄 色 视频免费播放 | 亚洲v欧美v国产v在线观看 | 久久激情日本aⅴ | 欧美一级片免费播放 | 天天干天天搞天天射 | 最近最新最好看中文视频 | 久久久久国产免费免费 | 日日夜夜精品网站 | 成人免费观看av | 一级黄色网址 | 999免费视频 | 中文在线√天堂 | 国产精品精品 | 国产 日韩 在线 亚洲 字幕 中文 | 久久久久日本精品一区二区三区 | 激情久久伊人 | 亚洲黄色区 | 天天操天天干天天爱 | 四虎4hu永久免费 | 欧美日韩在线播放一区 | 亚洲精品国产成人av在线 | 中文字幕在线观看播放 | 97精品一区二区三区 | 天天天天综合 | 九九热视频在线免费观看 | 二区三区毛片 | 99这里都是精品 | 国产高清视频在线播放一区 | 日本在线视频一区二区三区 | 91最新国产 | 亚洲精品美女在线观看 | 亚洲人在线7777777精品 | 五月婷婷六月丁香激情 | 久久久久久毛片 | 在线三级av | 免费看久久 | 久久精品国产精品亚洲 | 久久久免费观看完整版 | 91成人在线视频观看 | 九九免费在线观看 | 日本韩国在线不卡 | 久久久久久久影院 | 天天草天天摸 | 中文欧美字幕免费 | 美女网站视频色 | 日日夜夜中文字幕 | 在线a亚洲视频播放在线观看 | 亚洲成成品网站 | 国产在线成人 | 国产91精品在线播放 | v片在线看| 国产美女视频免费观看的网站 | 99 色| 亚洲一区二区三区在线看 | 免费亚洲成人 | 亚洲视频在线观看网站 | 久久九精品 | 在线高清一区 | www.狠狠干 | 黄色毛片在线观看 | 国产麻豆精品传媒av国产下载 | 亚洲第一区在线观看 | 黄色视屏在线免费观看 | 久久激情五月婷婷 | 久久亚洲人 | 国产精品综合久久久 | 国产 一区二区三区 在线 | 日韩成人黄色 | 亚洲97在线 | 国产亚洲精品久久久久久无几年桃 | 91日韩免费 | 久草在线免费在线观看 | 99久久久国产精品免费99 | 激情喷水 | 黄色大片免费播放 | 十八岁以下禁止观看的1000个网站 | 日韩久久精品一区二区 | 久久久久久久免费观看 | 激情综合网婷婷 | 免费a网 | 午夜国产一区二区 | 久久久久国产免费免费 | 国产小视频免费观看 | 日韩网站免费观看 | aaa亚洲精品一二三区 | 少妇bbw揉bbb欧美 | 中文在线免费观看 | 又粗又长又大又爽又黄少妇毛片 | 亚州精品天堂中文字幕 | 精品一区在线 | 一区二区三区 中文字幕 | 天天操综 | 中文字幕首页 | 日日夜夜爱 | 精品国偷自产在线 | 成人午夜电影久久影院 | 色国产视频 | 国产在线va| av免费高清观看 | 91精品一区二区在线观看 | 成人在线视频免费看 | 在线视频观看你懂的 | 成人影视免费看 | 成人在线视频观看 | 欧美日韩国产在线观看 | 久草精品免费 | 96久久久 | 久久福利国产 | 国产精品 亚洲精品 | 一区二区中文字幕在线观看 | 啪啪精品| 美女国产网站 | 亚洲专区 国产精品 | 91av在线免费观看 | 久久久久网址 | 久草热视频 | 国产一区免费看 | 在线观看视频黄色 | 免费视频a| 最近日本字幕mv免费观看在线 | 干av在线| 在线观看精品国产 | www.超碰| 18久久久久久 | 狠狠色噜噜狠狠狠狠2021天天 | 免费久久久 | 国产精品久久久久久久久久久久久久 | 婷婷色六月天 | 99视频精品视频高清免费 | 日韩一区二区三区高清免费看看 | 精品久久久久久久久久久久 | 国产精品免费一区二区 | 国产第一页在线播放 | 69精品视频在线观看 | 日韩在线观看精品 | 在线观看国产一区二区 | 狠狠干天天操 | 亚洲一片黄 | 在线免费观看视频一区二区三区 | 狠狠黄 | 青青河边草手机免费 | 国产91欧美| 中文字幕美女免费在线 | 日日操夜夜操狠狠操 | 狠狠久久伊人 | 欧美成人中文字幕 | 中文字幕在线影院 | 国产精品久久久久久久久久免费 | 99精品久久99久久久久 | 国产精品黄色 | 九九热视频在线免费观看 | 日日草视频 | 狠狠色丁香久久婷婷综合五月 | 亚洲综合激情小说 | 91麻豆免费版 | 丁香六月婷婷开心婷婷网 | 四虎影视精品成人 | 欧美日韩国产一区二区三区在线观看 | 亚洲伊人成综合网 | 亚洲欧美日本一区二区三区 | 欧美日本不卡 | 亚洲精品综合一区二区 | 成人欧美一区二区三区黑人麻豆 | 最新中文字幕在线观看视频 | 欧美精品在线视频观看 | 不卡日韩av| 狠狠干夜夜操天天爽 | 少妇bbbb搡bbbb搡bbbb | aaa毛片视频 | 国产精品第72页 | 久久精品国产第一区二区三区 | 天天操天天干天天爱 | 免费在线观看亚洲视频 | 欧美人zozo| 久久你懂的 | 国产精品久久久久久吹潮天美传媒 | 91av福利视频 | 日本一区二区免费在线观看 | 日韩特黄一级欧美毛片特黄 | 日韩在线观看的 | 亚洲精选在线 | 亚洲最新精品 | av高清网站在线观看 | 黄色大片免费网站 | 黄色片网站 | 亚洲aⅴ久久精品 | 久久国产热视频 | 500部大龄熟乱视频 欧美日本三级 | 免费一级片观看 | 免费三级av| 在线观看一区视频 | 激情电影影院 | 亚洲免费av网站 | 欧美日韩中文在线观看 | 欧美日韩久久不卡 | 久久综合久色欧美综合狠狠 | 日韩精品视频免费在线观看 | 97精品超碰一区二区三区 | 日本久久电影 | 国精产品一二三线999 | 亚洲高清视频一区二区三区 | 亚洲成aⅴ人在线观看 | 日日草夜夜操 | 免费看麻豆 | 午夜视频在线观看一区二区三区 | av网站在线观看免费 | 在线精品亚洲 | 91成人精品 | 狠狠躁18三区二区一区ai明星 | 九九久久精品视频 | 超碰个人在线 | 97在线精品 | 91在线看网站 | 色全色在线资源网 | a级片久久久 | 久久久久97国产 | 色全色在线资源网 | 2022久久国产露脸精品国产 | 国产免费中文字幕 | 欧美激情视频在线观看免费 | 97激情影院 | 亚洲另类xxxx | 久久午夜羞羞影院 | 国产精品日韩欧美一区二区 | 国产精品一区久久久久 | 丁香六月婷婷 | 在线观看深夜视频 | 久久99国产精品 | 最近中文字幕视频网 | 欧美日韩一区二区视频在线观看 | 国产精品久久久久一区二区三区 | 国产黄色在线观看 | 亚洲精品日韩一区二区电影 | 99在线视频播放 | 国产传媒一区在线 | 成人h电影在线观看 | 久久专区 | 最近免费中文字幕mv在线视频3 | 黄色av高清 | 午夜在线看 | 四虎影视成人永久免费观看视频 | 国产精品乱码久久 | 麻豆av电影 | 国产精品18久久久久久久网站 | 日日夜夜免费精品视频 | 亚洲人久久| 九九天堂| 亚洲成人av在线电影 | 精品视频免费观看 | 国产精品自产拍在线观看网站 | 操操爽 | 国产午夜三级一区二区三桃花影视 | 国产三级在线播放 | 亚洲最新av在线 | 国产精品成人一区二区 | 99精品在线观看视频 | av片中文 | 中文字幕网站 | 91九色最新地址 | 91丨九色丨丝袜 | 欧美激情视频一区 | 免费观看www小视频的软件 | 麻豆一区二区三区视频 | 成年人免费在线观看 | 网站在线观看你们懂的 | 国产看片网站 | 色综合天天在线 | 国产淫片 | 99热最新地址 | 精品日韩在线一区 | 久久国产精品99久久久久久老狼 | 91一区二区三区久久久久国产乱 | 成人a免费看 | 中文字幕久久亚洲 | 右手影院亚洲欧美 | 久久精品国产亚洲a | 亚洲高清精品在线 | 91av在线国产 | 热久久国产 | 91人人澡 | 天天操月月操 | 三级黄色网址 | 天天干天天上 | 国产又粗又猛又爽又黄的视频免费 | 天天干天天看 | 四虎国产精品免费观看视频优播 | 九九免费在线观看视频 | 一级黄色a视频 | 国产丝袜一区二区三区 | 久久成人福利 | 在线国产一区二区 | 国产精品一区二区三区在线免费观看 | 国产手机视频在线观看 | 国产日韩精品一区二区在线观看播放 | 超碰大片 | 精品国模一区二区三区 | 久久午夜国产精品 | 在线观看黄av | 亚洲午夜精品电影 | 夜夜骑日日操 | 美女黄久久 | 国产精品免费久久久久久久久久中文 | 丁香六月婷婷开心婷婷网 | 成人网色 | 久操中文字幕在线观看 | 日韩精品一区电影 | 欧美亚洲成人免费 | 99热99| 国产精品久久在线观看 | 天天做日日爱夜夜爽 | 在线免费观看国产黄色 | 国产福利不卡视频 | 天天干天天玩天天操 | 欧美激情片在线观看 | 欧美xxxx性xxxxx高清 | 婷婷视频在线 | 欧美一区二区在线 | 狠狠干网 | 欧美乱码精品一区二区 | 在线午夜电影神马影院 | 麻豆一二三精选视频 | 国产一二三四在线视频 | 一区二区不卡在线观看 | 精品久久久久国产免费第一页 | 国产一区二区在线免费视频 | 国产精品99视频 | 久草精品在线 | 久久久久久久国产精品视频 | 13日本xxxxxⅹxxx20 | 在线播放一区 | 精品国产亚洲日本 | 久久综合网色—综合色88 | 午夜免费在线观看 | 婷婷综合av | 一级片视频免费观看 | 在线观看视频中文字幕 | 国产精品久久久影视 | 999久久久久久久久久久 | 日韩最新中文字幕 | 在线小视频你懂得 | 毛片网在线 | 国产品久精国精产拍 | 国产精品色在线 | 91自拍91 | 欧美一区在线观看视频 | 99精品偷拍视频一区二区三区 | 四虎影视成人永久免费观看视频 | 99久久日韩精品免费热麻豆美女 | 天天鲁一鲁摸一摸爽一爽 | 丁香婷婷色月天 | 亚洲国产视频在线 | 日韩av中文在线观看 | 激情视频一区 | av官网在线 | 国产精品高清在线观看 | 天天曰夜夜爽 | 国产精品视频免费看 | 国产在线视频一区二区三区 | 蜜臀av性久久久久蜜臀av | 黄色com | 欧洲激情综合 | 又紧又大又爽精品一区二区 | 美女网站在线免费观看 | 国产成人精品一区二区在线观看 | 亚洲欧美国产日韩在线观看 | 午夜精品久久久久久99热明星 | 亚洲国产精彩中文乱码av | 日韩视频一区二区在线观看 | 国产精品国产亚洲精品看不卡 | 国产精品久久久久久一区二区三区 | 国产精品久久久久久高潮 | 国产精品久久久久免费 | 又色又爽又黄 | 五月天,com | 玖草在线观看 | 久久理论电影网 | 波多野结衣视频一区 | 国产精彩视频一区 | 91香蕉亚洲精品 | 最新国产精品亚洲 | 国产一区二区网址 | 91av视频在线免费观看 | 日本黄色大片儿 | 欧美日韩不卡一区二区三区 | 久久精品久久综合 | 日韩视频免费观看高清完整版在线 | 国产精品a久久久久 | 成年人免费在线看 | 超碰公开在线 | 又黄又刺激视频 | 特级西西www44高清大胆图片 | 国产亚洲精品久久网站 | 91视频啊啊啊 | 欧美日韩国产免费视频 | 亚洲精品婷婷 | 一区二区三区国产精品 | 亚洲精品www久久久 www国产精品com | 婷婷五月色综合 | 国产玖玖精品视频 | av专区在线 | 99精品在线免费观看 | 91人人澡人人爽人人精品 | 欧美成a人片在线观看久 | 99精品成人| 国产精品岛国久久久久久久久红粉 | 国产精品video爽爽爽爽 | 欧美在线18| 国产一区在线看 | www.亚洲精品视频 | 五月天中文在线 | 婷婷视频在线播放 | 国产99久久久国产精品免费二区 | www黄色av| 国产精品一区二区在线观看免费 | av永久网址 | 99久久精品费精品 | 欧美精品一区二区免费 | 一区 在线观看 | 免费观看日韩av | 久久久久激情视频 | 久久激五月天综合精品 | www.夜色.com| 日本高清中文字幕有码在线 | 欧美另类性 | 欧美一区二区在线免费看 | 午夜精品久久久久久久久久久久久久 | a级免费观看 | 国产精品国产三级国产aⅴ9色 | 99久久精品日本一区二区免费 | 久草新在线 | 日韩在线视频线视频免费网站 | 91丨九色丨高潮丰满 | 日韩电影一区二区在线 | 一区二区精品在线 | 久久国产精品系列 | 久久国产免费 | 中文字幕在线电影 | 激情视频免费在线观看 | 久久久这里有精品 | 日韩精品免费在线播放 | 国产小视频福利在线 | 亚洲精品美女久久 | 免费情趣视频 | 日韩国产高清在线 | 中文字幕频道 | 久久爱资源网 | 国产高清网站 | 久久久久久久久毛片精品 | 黄色小说免费观看 | 激情久久久久久久久久久久久久久久 | www.黄色小说.com | 深夜激情影院 | www久久久久 | 亚洲禁18久人片 | 久久综合久久久久88 | 亚洲精品 在线视频 | 在线小视频你懂的 | 99久久999久久久精玫瑰 | 天天天天色射综合 | 亚洲三级av | 国产精品观看在线亚洲人成网 | 色网免费观看 | 天天干天天干天天 | 国产精品久久久久久久久久妇女 | 97福利在线 | 久久久国产精品亚洲一区 | 精品久久国产精品 | www.色午夜,com | 国产精品福利无圣光在线一区 | 肉色欧美久久久久久久免费看 | 久久精品麻豆 | 99视频+国产日韩欧美 | 18做爰免费视频网站 | 五月婷婷激情五月 | 国产精品免费观看国产网曝瓜 | 国产在线国偷精品产拍免费yy | 亚洲精品中文字幕在线 | 亚洲国产精品500在线观看 | 爱爱av在线 | 99视频精品全部免费 在线 | 国产麻豆电影 | 亚洲男模gay裸体gay | 中文在线a∨在线 | 一级免费看视频 | 亚洲自拍av在线 | 91视频高清免费 | 超碰在线网 | 亚洲国产精品久久 | 欧美精品一区二区蜜臀亚洲 | 午夜精品一二三区 | 日韩精品一区二区在线 | 西西www4444大胆视频 | 国产黄色片久久 | 狠狠色丁香婷综合久久 | 日韩精品一区二区三区高清免费 | 国产v视频 | 亚洲免费在线观看视频 | 色www免费视频 | 人人爽人人搞 | 看片在线亚洲 | 久久久久久久久久久影视 | 国产精品免费看久久久8精臀av | 成年人国产在线观看 | 丁香激情五月 | av成人免费网站 | 亚洲国产精品人久久电影 | 国产日产精品久久久久快鸭 | 亚洲国产无 | 免费一级毛毛片 | 福利视频入口 | adn—256中文在线观看 | 亚洲精品黄色片 | 久久免费视频3 | 亚洲欧洲中文日韩久久av乱码 | www.久久免费 | 在线播放亚洲 | 日韩欧美电影 | 久久99国产视频 | 麻豆精品在线 | 天天操天操| 久久久久久久久影院 | 免费国产黄线在线观看视频 | 成人久久久久 | 精品一二三四在线 | 天堂av影院| 久久久综合九色合综国产精品 | 97香蕉视频 | 天天爱天天爽 | 国产中文字幕一区二区三区 | 99国产高清| 久久国产精品一二三区 | 蜜臀一区二区三区精品免费视频 | 91久久黄色| 999在线精品| 亚洲性视频| 97视频网站| 91麻豆网 | 狂野欧美激情性xxxx欧美 | 婷婷色综合网 | 一二三区av | 精品亚洲视频在线观看 | 久久99免费| 久久精品综合网 | 亚洲 综合 专区 | 亚洲电影久久 | 色妞久久福利网 | 国产在线a免费观看 | 久久久免费观看视频 | 久久免费视频一区 | 久久久久久麻豆 | 久久久久久久电影 | 在线观看免费一区 | 亚洲婷婷免费 | 亚洲精品视频 | 97视频网站 | 精品国产福利在线 | 天天操夜夜曰 | 成人在线免费看视频 | 粉嫩av一区二区三区免费 | 久久呀 | 成人免费在线看片 | 18pao国产成视频永久免费 | 色在线网站 | 日本三级在线观看中文字 | 国产白浆在线观看 | 91精品国产乱码久久桃 | 色综合久久五月 | 亚洲乱码在线观看 | 日韩国产高清在线 | 天天操伊人 | 五月婷香蕉久色在线看 | 黄污网 | 精品久久1 | 91色在线观看视频 | 日韩一级片观看 | 日韩免费网址 | 国产精品自产拍在线观看蜜 | 日韩成人免费电影 | 黄色网在线免费观看 | 亚洲黄色软件 | 久久久久久久久久久黄色 | 欧美日韩首页 | 亚洲精品在线视频网站 | 亚洲精品午夜视频 | 亚洲精品成人免费 | 欧美日韩一区二区三区在线观看视频 | 热久在线 | 综合激情婷婷 | 天天色天天色天天色 | 色婷婷久久久 | 永久免费的av电影 | 色狠狠久久av五月综合 | 国产在线精 | 精品不卡av| 成人免费观看视频大全 | 免费久久99精品国产 | 91香蕉视频污在线 | 天天插狠狠干 | 人人插人人艹 | 精品亚洲视频在线观看 | 少妇性xxx | 亚洲精品欧洲精品 | 丁香六月婷婷开心婷婷网 | 久久在线视频在线 | 91网在线看 | 丁香花中文在线免费观看 | 中文字幕一区二区三区在线观看 | 一二三精品视频 | 日韩美视频 | 最近免费观看的电影完整版 | 国产精品毛片一区二区在线 | 久久av福利 | 精品国产乱码久久久久久浪潮 | 欧美一级日韩免费不卡 | 国产一级电影免费观看 | 99色在线观看视频 | 亚洲精品一区二区三区新线路 | 手机看片国产 | 久久超碰99 | 亚洲乱码精品 | 免费三及片 | 欧美精品在线视频 | 亚洲精品资源在线观看 | 成人性生交大片免费观看网站 | 国产亚洲精品bv在线观看 | 久久综合精品国产一区二区三区 | 人人舔人人爱 | 99精品国产99久久久久久福利 | 91av福利视频 | 伊人丁香 | 久久高清免费观看 | 欧美激情片在线观看 | a黄色影院 | 韩国三级在线一区 | 日本久久免费视频 | 午夜久久影视 | 激情久久影院 | 99视频黄 | 国产精品综合久久久久 | 欧美精品午夜 | 亚洲网站在线看 | 亚洲三区在线 | 国产精品久久久久久久久免费 | 91成人破解版 | 日韩一级黄色av | 69精品久久| 在线观看视频你懂的 | 久久久免费看片 | 久草干| 91成品人影院 | 久久久久久中文字幕 | 日日夜夜天天久久 | 久久久久中文 | 国产精品成人国产乱 | 久热电影 | 成人黄色电影在线 | 午夜精品三区 | 黄色国产在线观看 | 911国产精品 | 色婷婷综合久久久久中文字幕1 | www.狠狠插.com| 国产午夜视频在线观看 | 精品一区在线看 | 国产精品一区二区av影院萌芽 | 丁香婷婷激情国产高清秒播 | 久久视频6| 亚洲国产操 | 91视频 - 88av| 91视频国产高清 | 欧美在线18| 午夜精品一区二区三区在线 | 精品色综合 | 91九色网站| 中文在线√天堂 | 国产一区二区精 | 天天射天天爱天天干 | 狠狠色丁香婷婷综合橹88 | 欧美在线一二区 | 亚洲成人av电影在线 | 九九精品久久久 | 久久91久久久久麻豆精品 | 国产精品久久久久久久久久了 | 91精品久久久久久综合乱菊 | 色诱亚洲精品久久久久久 | 国产精品一区一区三区 | 在线不卡的av | 久久免费99精品久久久久久 | 97视频成人| 激情小说网站亚洲综合网 | 天天色天天色天天色 | 国产精品二区在线观看 | 日韩视频中文字幕在线观看 | 亚洲精品国产品国语在线 | 婷婷播播网| 精品免费国产一区二区三区四区 | 日韩av电影网站在线观看 | 永久免费毛片 | 三级动图 | 欧美精品视| 狠狠操欧美| 99热在线精品观看 | 久草.com| 欧美网址在线观看 | 91九色在线视频观看 | 五月综合激情网 | 久久久久国产精品一区二区 | 精品美女久久久久久免费 | 九九精品视频在线观看 | 一区三区视频在线观看 | 久久精品99久久久久久2456 | 国产精品视频app | 久久激情小说 | 国产一级片免费播放 | 国产在线高清 | 91香蕉视频污在线 | 日韩电影中文,亚洲精品乱码 | 日韩欧美一级二级 | 色综合天 | 夜夜夜夜爽 | 国产精品久久久久永久免费看 | 久久久午夜电影 | 91麻豆精品国产91 | 欧美精品三级在线观看 | 国内精品久久影院 | 国产丝袜高跟 | 国产成人精品久久久久蜜臀 | 69国产精品视频免费观看 | 在线免费黄色片 | 国产欧美综合在线观看 | 国产成人三级 | 中文在线资源 | 久久久免费少妇 | 高清视频一区二区三区 | 91精品日韩| 成人av直播 | 国产午夜视频在线观看 | 黄色三级网站 | 国语麻豆 | 天堂视频一区 | 欧美另类xxxx | 久久国产一区二区三区 | 欧美色精品天天在线观看视频 | 麻豆视频免费入口 | 91在线看免费 | 中文字幕在线免费看 | 日韩毛片一区 | 精品福利国产 | 日韩精品视频免费看 | 国产精品一区免费看8c0m | 99亚洲视频 | 亚洲闷骚少妇在线观看网站 | 亚洲激情五月 | 国产亚洲一区二区在线观看 | 国产97在线观看 | 色婷婷狠狠五月综合天色拍 | a天堂在线看| 999免费视频| 免费看片成年人 | 日韩资源在线播放 | 日韩色高清 | 欧美视频在线观看免费网址 | 国产正在播放 | av一区二区三区在线 | 亚洲精品在线免费看 | 欧美精品999 | 欧美日韩免费观看一区=区三区 | 天天干,天天操,天天射 | 亚洲最大色 | 国产成人久久77777精品 | 国内精自线一二区永久 | 国产一级片免费播放 | 国产专区在线 | 日本中文字幕系列 | 天天干婷婷 | 成人av在线观 | 中文字幕二区在线观看 | 国产精品精品久久久久久 | 91精品办公室少妇高潮对白 | 成人黄色一级视频 | 99精品免费久久久久久日本 | 日本巨乳在线 | 久久精品视频18 | 欧美在线日韩在线 | 日韩精品一二三 | 东方av在 | 久久久久久久精 | 日韩视频一区二区在线观看 | 久久精品国产一区二区电影 | 国产精品高清一区二区三区 | 99久热在线精品 | 国产精品专区在线观看 | 国产a国产a国产a | 欧美在线18 | 青青久草在线视频 | 日本色小说视频 | 欧美91精品国产自产 | 开心激情五月婷婷 | 久久成人国产精品入口 | 中文字幕在线观看一区二区三区 | 国产视频在线观看免费 | www.av免费 | 十八岁免进欧美 | 久久久国产精品一区二区三区 | 国产一区二区三区免费在线 | 国产最新视频在线 | 成人91在线| 五月天色中色 | 精品国产电影一区 | 玖玖国产精品视频 | 永久免费的啪啪网站免费观看浪潮 | 精品国产一区二区三区蜜臀 | 欧美国产日韩一区二区 | 国产精品久久久久久久久久尿 | 91精品国产自产老师啪 | 黄色一级免费网站 | 91九色网址 | 高清不卡免费视频 | 一区二区精品在线 | 黄色片视频在线观看 | 九九国产精品视频 | 日韩欧美国产精品 | 日韩精品一区二区在线观看 | 亚洲精品乱码久久久久久 | 麻豆超碰| 色婷婷电影网 | 久久99精品久久久久久秒播蜜臀 | 国产一区精品在线 | 色狠狠干 | 91九色在线视频 | 免费一级片观看 | 国产精品亚洲人在线观看 | 麻豆av一区二区三区在线观看 | 国内精自线一二区永久 | 国产99久久久国产精品免费二区 | 色香蕉视频 | av免费在线网站 | 精品国产一区二区三区久久 | 久久永久免费 | 福利电影一区二区 | 久久精品中文视频 | 亚洲一区二区视频 | 国产在线观看xxx | 日韩视频免费 | 国产色在线,com | 欧美精品一级视频 | 亚洲国产精品99久久久久久久久 | 国产成人在线免费观看 | 草久在线观看视频 | 成人av视屏 | 日韩色一区二区三区 | 久久99热精品 | 美女视频免费一区二区 | 久久久久久久久久久久国产精品 | 亚洲日日射 | 久久伊人五月天 | 一区二区精品在线 | 97久久精品午夜一区二区 |