亚洲成人一区在线观看_天堂网www_国产精品久久9_中文在线播放_伊人天天_久久精品久久久精品美女

當前位置:首頁 > 網站舊欄目 > 學習園地 > 程序開發教程 > IHTMLDocument2接口訪問Dom,完成自動搜索

IHTMLDocument2接口訪問Dom,完成自動搜索
2009-12-23 10:57:24  作者:cnblogs  來源:cnblogs

首先感嘆下:冬至了,別人都去聚餐言歡,我去孤獨寫這些文字

 之所以寫這個東西,是一個網管朋友出50元大洋讓我寫的,有了這個東東,在網吧可以很輕松的做網吧增值廣告了.當時是星期天,想著又沒有事做,就答應了,雖知星期天的事情還真多,知道昨天晚上才搞定.

 我們來看下這位朋友的要求:

1、網站址:http://www.v232.com/?username,后面的username最好能在配置文件中配置。

2、打開軟件后搜索一次(搜索關鍵詞最好從我那網站調用,因為我那網站的關鍵字是隨機網絡熱門關鍵字地址是http://61.187.248.172:8099/listc.do這個地址最好也能配置,因為有時會變)
3、搜索一次后還必須要點擊一次搜索到的結果,不然會視為無效搜索。
4、等上幾秒(最好可以通過配置文件配置)再運行一次搜索即可,當然最好能讓他運行三次,運行三次后還是等上幾十分鐘(最好能配置)再運行。
5、全后臺運行,不能移動改變鼠標位置。

 

一條條分析下:

第一個要求,too easy ,編程花費時間可以忽略不計,用ini文件,用GetPrivateProfile**的api搞定

第二個要求:分兩步,

          (1)獲取關鍵字,CInternetSession + CHttpFile后再截取字符串搞定(當然換了地址,代碼換了就不行了)

          (2)搜索一次,這個一次搜索,過程也是比較難搞的,大家可以打開那個http://www.v232.com/?username這個網站其實用搜狗的廣告聯盟,過程挺簡單的,給搜索框填寫關鍵字,然后單擊搜索按鈕,這里起初我想的也是很簡單的,可是問題確實不斷的出來,不過最終都解決了,要不我也不敢在這些這些字了,呵呵

         這個過程要用本文的主角IHMLDocument2了,而且還用到了跨域訪問,可以看那個網站,是把搜狗網站用iframe引進來了,兩個document屬于不同的域,訪問就不便了,這個接口竟然也有這種限制.不過不用怕,網頁都到自己的電腦上了,自己的電腦,難道還不聽自己的話么.如果真是這樣我寧愿把電腦砸了.

第三個要求:沒什么了,第二個要求中的差不多,其實應該還簡單的,因為搜索結果是一個框架的,而且又沒有跨域的問題.不過唯一不好的就是搜索結果的鏈接默認是在新窗口打開的,這樣的話,這個軟件就不能夠足夠的隱藏了,因為會打開一個新的瀏覽器窗口了,解決辦法,就是在當前打開了,所以更改鏈接的target屬性.

第四個要求:用SetTimer搞定即可.

第五個要求:沒什么了,隱藏對話框窗口.

先搞個圖片:

下面就開始主演登場了

 

首先盜用別人的一張圖來展示下網頁的結構

 

[page]
我用的是VS2008中的activeX Microsoft web browser控件所以可以很容易獲取到IHTMLDocument2對象

m_ie是與activeX Microsoft web browser控件關聯的變量,CComPtr是Com了,可以實現智能指針

代碼
CComPtr<IDispatch> spDispDoc = m_ie.get_Document();
    CComPtr
<IHTMLDocument2> spHtmlDoc = NULL;
    hr 
= spDispDoc->QueryInterface(IID_IHTMLDocument2,(void **)&spHtmlDoc);
    
if (FAILED(hr) || NULL == spHtmlDoc)
    {
        
//return FALSE;
    }

 

 

上面在分析中說了要第二個要求中,有框架的,還要跨域的,可以看上圖,我們知道對已訪問框架網頁的IHtmlDocument2,我們需要要獲取Frame對象,然后是Window對象,然后再次才是框架網頁的IHTMLDocument2對象.

所以就按此順序來了

 

代碼
    spHtmlDoc->get_readyState(&state); 
        pSate 
= _com_util::ConvertBSTRToString(state);
        
if(strcmp(pSate,"complete")==0//檢測下狀態
        {
            
        }
        
else
        {
            
return;
        }
        
//開始解析網頁
        CComPtr<IHTMLWindow2>  pHTMLWnd = NULL;   
        CComPtr
<IHTMLDocument2> pChilDoc = NULL;
        LPDISPATCH   lpDispatch;   

        
        CComPtr
<IHTMLFramesCollection2> pFrames=NULL;
        spHtmlDoc
->get_frames(&pFrames);
        
long frameCount = 0;
        pFrames
->get_length(&frameCount);
        
//獲取第一個frame
        VARIANT   varindex,varresult;  
        varresult.vt
=VT_DISPATCH;   
        varindex.vt   
=   VT_I4;
        
        varindex.lVal 
= 0;
        hr 
= pFrames->item(&varindex,   &varresult);
        
if (S_OK != hr)
        {
            
return;
        }

        lpDispatch 
= (LPDISPATCH)varresult.ppdispVal;//為了跨域訪問
        if(SUCCEEDED(lpDispatch->QueryInterface(IID_IHTMLWindow2,   (LPVOID   *)&pHTMLWnd)))   
        {   
             pChilDoc 
= HtmlWindowToHtmlDocument(pHTMLWnd); //為了跨域訪問,此函數突破跨域限制
             if (pChilDoc==NULL)
             {
                 
return;
             }
        }
        
else
        {
            
return;
        }

 

做這些訪問操作,需要多加判斷,或者用try catch了.

主要是這個IDispatch,剛才我也弄得頭暈了,后來就明白了,可以把這個看成對封裝一大堆元素東西的結構,就像我們訪問Document中的元素,一次得到都是封裝的,這個IDsipach可以返回我們想要的,記得用get_all,get_frames,get_forms等返回的都是一塊東西,我們沒有辦法直接訪問,然后有一個專門拆包的人,我們說要個input元素,然后這個人就到包里找,找到了就給我們,找不到了,就不進行操作了.就像我高中學校里的傳達室一樣,每次都有很多郵件在一個箱子里,我沒有權利去檢查里面有沒有我或者我同學的信,我每次都得問那老爺爺有沒有"誰誰誰"的信,老爺爺在里面找半天,有了就給我,沒了,也不理我,繼續給其他同學找信.

傳達室就像一個Document對象,而箱子就是一些元素的集合,老爺爺就是IDispatch了,信和郵件就是我們要的網頁元素了,像a input table等.

上面的代碼中有突破跨域的,其實也是很實用的,這個傳達室沒有我的郵件,我得到另一個找找看了,不能吊死到一棵樹上呀

上面用到得HtmlWindowToHtmlDocument函數是從MSDN的forum上找到得,經過我稍微的改版,改成適合我當前工程的函數,下面貼出來了

 

代碼
CComPtr<IWebBrowser2> CTimerSerachDlg::HtmlWindowToHtmlWebBrowser(CComPtr<IHTMLWindow2> spWindow)
{     
    ATLASSERT(spWindow 
!= NULL);     
    CComQIPtr
<IServiceProvider>  spServiceProvider = spWindow;     
    
if (spServiceProvider == NULL)     
    {          
        
return CComPtr<IWebBrowser2>();     
    }     
    CComPtr
<IWebBrowser2> spWebBrws;     
    HRESULT hRes 
= spServiceProvider->QueryService(IID_IWebBrowserApp, IID_IWebBrowser2, (void**)&spWebBrws);     
    
if (hRes != S_OK)     
    {          
        
return CComPtr<IWebBrowser2>();     
    }     
    
return spWebBrws;
}

// Converts a IHTMLWindow2 object to a IHTMLDocument2. Returns NULL in case of failure.
// It takes into account accessing the DOM across frames loaded from different domains.
CComPtr<IHTMLDocument2> CTimerSerachDlg::HtmlWindowToHtmlDocument(CComPtr<IHTMLWindow2> spWindow)
{     
    ATLASSERT(spWindow 
!= NULL);     
    CComPtr
<IHTMLDocument2> spDocument;     
    HRESULT hRes 
= spWindow->get_document(&spDocument);         
    
if ((S_OK == hRes) && (spDocument != NULL))     
    {          
        
// The html document was properly retrieved.          
        return spDocument;     
    }     
    
// hRes could be E_ACCESSDENIED that means a security restriction that     
    
// prevents scripting across frames that loads documents from different internet domains.     
    CComPtr<IWebBrowser2>  spBrws = HtmlWindowToHtmlWebBrowser(spWindow);     
    
if (spBrws == NULL)     
    {         
        
return CComPtr<IHTMLDocument2>();     
    }     
    
// Get the document object from the IWebBrowser2 object.     
    CComPtr<IDispatch> spDisp;     hRes = spBrws->get_Document(&spDisp);    
    spDocument 
= spDisp;     
    
return spDocument;
}

 

英文注釋都保留了,原理就是同window來獲取Document對象了,我早說了,自己的電腦能不聽自己的話么.即使不聽,也得教訓下,讓它聽話.

其實上面基本就是核心代碼了,這里需要注意的就是VARIANT 和BSTR類型變量的使用,這個網上的資料還是很多的,我看網上的資料沒看明白,看msdn明白了.

VARIANT 就是一個為了實現語言無關性,Com接口中的.用的時候,就是指定下當前的數據類型,然后往指定的數據類型的屬性中賦值就可以了,是一個封裝了大多數基本數據類型的類.

 

還有一個難點就是,到了搜索結果頁,直接用IHTMLLinkElement2 和IHTMLLinkElement都得不到A的鏈接,無奈了,用IHTMElement2 IHTMElement 都可以了的,起初直接用IHTMLLinkElement2強制轉換IHTMElement2 ,然后修改鏈接的target(IHTMLLinkElement2才有的)屬性,不行,肯定不行了,向下類的繼承也知道不行的.這折騰了我好長時間.就又到msdn看呀看,終于看了到了IHTMLElement 的SetAttribute、RemoveAttribute,頓感救星來了,果然如此,用SetAttribute("target","_self");當然里面的字符串要用BSTR了,到此就完成了,中間隔時間,我全部用SetTimer來完成,下面貼出OnTimer的代碼(我調試的代碼都在,有的代碼是沒有用的了)

 

代碼
void CTimerSerachDlg::OnTimer(UINT_PTR nIDEvent)
{
    
// TODO: 在此添加消息處理程序代碼和/或調用默認值
    BSTR state = {0};
    
char *pSate=NULL;
    
    
if (nIDEvent==1)
    {
        GetKeyWord();
        HRESULT hr 
= E_FAIL;
        CComPtr
<IDispatch> spDispDoc = m_ie.get_Document();
        CComPtr
<IHTMLDocument2> spHtmlDoc = NULL;
        hr 
= spDispDoc->QueryInterface(IID_IHTMLDocument2,(void **)&spHtmlDoc);
        
if (FAILED(hr) || NULL == spHtmlDoc)
        {
            
//return FALSE;
        }

        spHtmlDoc
->get_readyState(&state); 
        pSate 
= _com_util::ConvertBSTRToString(state);
        
if(strcmp(pSate,"complete")==0//檢測下狀態
        {
            
        }
        
else
        {
            
return;
        }
        
//開始解析網頁
        CComPtr<IHTMLWindow2>  pHTMLWnd = NULL;   
        CComPtr
<IHTMLDocument2> pChilDoc = NULL;
        LPDISPATCH   lpDispatch;   

        
        CComPtr
<IHTMLFramesCollection2> pFrames=NULL;
        spHtmlDoc
->get_frames(&pFrames);
        
long frameCount = 0;
        pFrames
->get_length(&frameCount);
        
//獲取第一個frame
        VARIANT   varindex,varresult;  
        varresult.vt
=VT_DISPATCH;   
        varindex.vt   
=   VT_I4;
        
        varindex.lVal 
= 0;
        hr 
= pFrames->item(&varindex,   &varresult);
        
if (S_OK != hr)
        {
            
return;
        }

        lpDispatch 
= (LPDISPATCH)varresult.ppdispVal;
        
if(SUCCEEDED(lpDispatch->QueryInterface(IID_IHTMLWindow2,   (LPVOID   *)&pHTMLWnd)))   
        {   
             pChilDoc 
= HtmlWindowToHtmlDocument(pHTMLWnd);
             
if (pChilDoc==NULL)
             {
                 
return;
             }
        }
        
else
        {
            
return;
        }
        
        CComPtr
<IHTMLElementCollection> pForms = NULL;
        pChilDoc
->get_forms(&pForms);
        
        
long formCount = 0;
        pForms
->get_length(&formCount);
        CComPtr
<IDispatch> formDis = NULL;
        _variant_t index 
= 0;
        hr 
= pForms->item(index,index,&formDis);
        
        
if (hr!=S_OK)
        {
            
return;
        }
        
//get the form interface
        CComPtr<IHTMLFormElement> pFirstForm = NULL;
        hr 
= formDis->QueryInterface(IID_IHTMLFormElement,(void **)&pFirstForm);
        
if (hr!=S_OK)
        {
            
return;
        }
        formDis.Release();
        BSTR formName 
= {0};
        pFirstForm
->get_name(&formName);
        CComPtr
<IDispatch> inputDis = NULL;
        index 
= 4;
        pFirstForm
->item(index,index,&inputDis);
        CComPtr
<IHTMLInputTextElement> qElem = NULL;
        inputDis
->QueryInterface(IID_IHTMLInputTextElement,(void**)&qElem);
        inputDis.Release();
        BSTR tagName
={0};
        BSTR id
={0};
        qElem
->get_name(&tagName);
        BSTR value 
= {0};
        
        qElem
->put_value(value);
        value
=m_keyWord.AllocSysString();
        qElem
->put_value(value);
        SysFreeString(value); 

        
//成功后,就不用了
        KillTimer(1);
        SetTimer(
2,5000,NULL);//開始單擊按鈕
    }
    
if (nIDEvent==2)
    {
        HRESULT hr 
= E_FAIL;
        CComPtr
<IDispatch> spDispDoc = m_ie.get_Document();
        CComPtr
<IHTMLDocument2> spHtmlDoc = NULL;
        hr 
= spDispDoc->QueryInterface(IID_IHTMLDocument2,(void **)&spHtmlDoc);
        
if (FAILED(hr) || NULL == spHtmlDoc)
        {
            
//return FALSE;
        }

        spHtmlDoc
->get_readyState(&state);
        pSate 
= _com_util::ConvertBSTRToString(state);
        
if(strcmp(pSate,"complete")==0)
        {

        }
        
else
        {
            
return;
        }
        
//開始解析網頁
        CComPtr<IHTMLWindow2>  pHTMLWnd = NULL;   
        CComPtr
<IHTMLDocument2> pChilDoc = NULL;
        LPDISPATCH   lpDispatch;   


        CComPtr
<IHTMLFramesCollection2> pFrames=NULL;
        spHtmlDoc
->get_frames(&pFrames);
        
long frameCount = 0;
        pFrames
->get_length(&frameCount);
        
//獲取第一個frame
        VARIANT   varindex,varresult;  
        varresult.vt
=VT_DISPATCH;   
        varindex.vt   
=   VT_I4;

        varindex.lVal 
= 0;
        hr 
= pFrames->item(&varindex,   &varresult);
        
if (S_OK != hr)
        {
            
return;
        }

        lpDispatch 
= (LPDISPATCH)varresult.ppdispVal;
        
if(SUCCEEDED(lpDispatch->QueryInterface(IID_IHTMLWindow2,   (LPVOID   *)&pHTMLWnd)))   
        {   
            pChilDoc 
= HtmlWindowToHtmlDocument(pHTMLWnd);
            
if (pChilDoc==NULL)
            {
                
return;
            }
        }
        
else
        {
            
return;
        }

        CComPtr
<IHTMLElementCollection> pForms = NULL;
        pChilDoc
->get_forms(&pForms);

        
long formCount = 0;
        pForms
->get_length(&formCount);
        CComPtr
<IDispatch> formDis = NULL;
        _variant_t index 
= 0;
        hr 
= pForms->item(index,index,&formDis);

        
if (hr!=S_OK)
        {
            
return;
        }
        
//get the form interface
        CComPtr<IHTMLFormElement> pFirstForm = NULL;
        hr 
= formDis->QueryInterface(IID_IHTMLFormElement,(void **)&pFirstForm);
        
if (hr!=S_OK)
        {
            
return;
        }
        formDis.Release();
        BSTR formName 
= {0};
        pFirstForm
->get_name(&formName);
        CComPtr
<IDispatch> inputDis = NULL;
        index 
= 5;
        pFirstForm
->item(index,index,&inputDis);
        CComPtr
<IHTMLElement> qElem = NULL;
        inputDis
->QueryInterface(IID_IHTMLElement,(void**)&qElem);
        inputDis.Release();
        BSTR tagName
={0};
        BSTR id
={0};
        qElem
->get_tagName(&tagName);
        qElem
->get_title(&tagName);
        
/*BSTR value = {0};

        qElem->put_value(value);
        value=m_keyWord.AllocSysString();
        qElem->put_value(value);
        SysFreeString(value); 
*/
        qElem
->click();
        
//成功后,就不用了
        KillTimer(2);
        SetTimer(
3,5000,NULL);//開始單擊搜索結果
    }
安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 国产欧美日韩精品在线 | 啪啪网站免费 | 嫩草影院黄色 | 国产精品自产拍在线观看 | 成人精品久久 | 三级黄色视频毛片 | 最新日韩在线观看视频 | 成人看片免费网站 | 黄a免费 | a级黄色在线观看 | 国产日韩亚洲欧美 | 国产中文在线播放 | 国产成人在线一区 | 中文字幕第18页 | 日韩精品在线免费 | 日韩一级 | 国产精品一区二区不卡 | 午夜激情免费在线观看 | 国产精品视频免费观看 | 伊人久久艹| 91嫩草在线 | 91天天综合 | 日韩一区二区三区在线视频 | 中文字幕 国产精品 | 一区二区日韩精品 | 可以在线观看的黄色 | 日日日操 | 狠狠躁夜夜躁人人爽视频 | 欧美日韩精品一区二区 | 日韩色在线 | 黄色免费成人 | 午夜精品久久久久久 | 久久国产区 | 成人超碰在线 | 蜜桃αv| 一区二区精品 | 风间由美一区二区三区在线观看 | 我要看免费黄色片 | 亚洲在线| 欧美日韩中文字幕在线 | 国产美女黄色片 | 爱干视频 | 日韩在线视频一区 | 欧美精品一区二区三区免费视频 | 日韩电影一区二区三区 | 久久99精品久久久久久噜噜 | 国产一级黄色av | 中文字幕亚洲欧美日韩在线不卡 | 色婷婷一区二区三区 | 国产精品久久久久久久 | 国产精品久久久久久亚洲调教 | 2019天天操| 日韩欧美成人影院 | 国产日韩欧美在线 | 欧美成人一区二区三区片免费 | 最新一级毛片 | 国产精选久久 | 午夜精品久久久久久久白皮肤 | 国产成人在线免费观看 | 日韩国产欧美视频 | 中文字幕欧美日韩一区 | 日韩在线亚洲 | 成人福利av | 日韩欧美国产一区二区三区 | 亚洲成人免费观看 | 夜夜操天天干, | 国产成人精品久久 | 精品久久一区 | 国产区福利 | 久久一| 日韩成人免费视频 | 日韩专区一区二区三区 | 色视频网站在线观看一=区 日韩一二三区 | 色婷婷精品国产一区二区三区 | 狠狠艹| 99视频免费 | 久久亚洲一区二区 | 欧美黄色精品 | www.日韩在线视频 | 日韩一区欧美 | 久久国产精品一区二区 | 一区二区三区国产在线观看 | 一区二区三区亚洲 | 日韩av免费在线播放 | 国产精品日产欧美久久久久 | 欧美一区二区三区久久精品 | 人人澡人人射 | 久久91精品国产91久久跳 | 成人久久久 | 综合网视频 | 激情小视频网站 | 日本人做爰大片免费观看一老师 | 97精品国产 | 久热热 | 亚洲综合二区 | 欧美日韩视频 | 91精品亚洲 | 97国产免费 | 婷婷午夜激情 | 午夜视频 | 国产aaa大片 | 国产精品福利在线观看 | 亚洲v在线 | 亚洲人免费视频 | 欧美视频一区 | 国产一区二区三区免费 | 一级黄色录像在线观看 | 亚洲午夜精品视频 | 国精品一区 | 美女福利视频网站 | 亚洲网在线 | 91精品久久久久久久久入口 | 国产精品久久久久久婷婷天堂 | 国产一区二区在线免费观看 | 久久毛片 | 亚洲视频免费观看 | 欧美男人天堂 | 免费特级黄毛片 | 久久久久无码国产精品一区 | 日韩精品一区二区在线观看 | 国产91久久精品一区二区 | 日韩欧美网址 | 亚洲社区在线观看 | 国产精品视频播放 | 一区二区三区四区在线 | 欧美日韩一区在线观看 | 国产精品视频一区二区三区不卡 | 久久久久中文字幕 | 亚洲一区二区三区 | 久久亚洲综合 | 午夜在线小视频 | 成全视频免费观看在线看黑人 | 欧美不卡视频一区发布 | 久久女人 | 天天干国产 | 一区在线视频 | 在线观看av网站永久 | 国产精品二区三区在线观看 | 九九热免费看 | 一区二区日韩精品 | 91福利网站在线观看 | 国产精品久久久久久久久久 | 日韩一区精品 | 成人影院www在线观看 | 久久久久国产一区二区三区四区 | 久久久久久久 | 亚洲色图一区二区三区 | 久草在线在线精品观看 | 午夜在线视频 | 中文字幕成人 | 久久久久久亚洲精品视频 | 亚洲精品四区 | 在线激情视频 | 青青草免费在线视频 | 久草福利资源 | 日韩中文字幕av | 久久精品在线观看视频 | 欧美一级在线 | 99爱视频 | 澳门久久| 精品永久免费 | 欧美极品一区二区三区 | 三级成人片 | 91精品国产综合久久国产大片 | yy6080久久伦理一区二区 | 久久夜色精品 | 国产欧美日韩综合精品一区二区 | 亚洲综合在线一区二区 | 亚洲欧洲一区二区 | 亚洲欧美一区二区三区久久 | 免费在线观看av的网站 | 亚洲综合首页 | 一区二区三区在线视频播放 | 国产精品久久久久久久久久东京 | 精品国产一区二区在线 | 亚洲狠狠久久综合一区77777 | 成人午夜精品一区二区三区 | 华人黄网站大全 | 久久久久久久久国产精品 | 欧美日在线 | 日韩精品专区在线影院重磅 | 99精品一区 | 999精品在线 | 精品无码久久久久久国产 | 午夜影院免费 | 久久性色 | 国产精品污www在线观看 | 久久精品99国产精品日本 | 成人免费视频网站在线观看 | 一区二区三区视频免费在线观看 | 全毛片| 黄色影视在线免费观看 | 久久一精品 | 国产精品美女久久久久aⅴ国产馆 | 久久中文视频 | 中文字幕国产在线视频 | 国产在线小视频 | 亚洲国产成人精品女人 | 91成人区 | 黄色毛片免费看 | 亚洲xx站 | 九九综合九九 | 欧美精品一区二区三区在线播放 | 天天射美女 | 日韩一区二区三区在线 | 亚洲午夜精品一区二区三区 | h网站在线观看 | 日韩成人在线网站 | 黑人粗黑大躁护士 | 国产精品国产三级国产aⅴ中文 | 一区二区国产精品 | 日韩在线精品 | 日本高清中文字幕 | 精品国产一区二区三区日日嗨 | 久久99视频精品 | 特级淫片裸体免费看 | 亚洲一区二区免费看 | 欧美伊人影院 | 欧美日韩午夜精品 | 久久国产精品精品国产 | 国内自拍视频网 | 91精品一区二区三区久久久久久 | 欧美日韩精品一区二区三区在线观看 | 久久精品免费一区二区三区 | 免费看一区二区三区 | 91偷拍精品一区二区三区 | 日韩福利视频 | 激情开心成人网 | 精品久久久久久国产 | av黄色一级 | 一a毛片 | 99久久婷婷国产精品综合 | 午夜视频在线观看免费视频 | 日韩欧美在线一区二区 | 可以看黄的视频 | 亚洲国产精品99久久久久久久久 | 国产精品久久久爽爽爽麻豆色哟哟 | 国产成人久久精品一区二区三区 | 国产精品99| 欧美一级在线 | 久久国产一区二区 | 日韩欧美一级片 | 国产区在线 | 日韩不卡一区二区三区 | 久久精品日 | 成人免费视频网站在线观看 | 亚洲日韩欧美一区二区在线 | 激情欧美一区二区三区中文字幕 | 成年人在线看片 | 99中文字幕 | 日韩亚洲一区二区 | 一区二区三区无码高清视频 | 欧美亚洲激情 | 91一区二区 | 国产精品一区电影 | 日韩另类 | 一级毛片大全免费播放 | 青青草久久久 | 亚洲一区二区三区日韩 | 国产成人精品a视频一区www | 国产午夜精品一区二区三区 | 欧美日韩不卡合集视频 | 国产精品久久久久久久久久99 | 欧美日韩视频在线第一区 | 成人免费视频网站在线观看 | 偷拍自拍亚洲欧美 | 天天天插 | 成人一区二区在线观看 | 成年视频在线观看福利资源 | 欲色av| 亚洲一区二区三区免费视频 | 91欧美在线 | 羞羞视频网站 | 在线观看国产wwwa级羞羞视频 | 青青草国产成人av片免费 | 九九久久精品 | 国产在线精品一区二区三区 | 国精品一区 | 久草视频首页 | 久久2018| 久久综合九色综合欧美狠狠 | 国产av毛片 | 蜜桃av一区二区三区 | 欧美一区二区三区在线视频 | 久久久影视 | 亚洲xx视频 | 99色播| 日韩av一区二区三区在线观看 | 最新中文字幕在线 | 欧美视频在线观看不卡 | 日韩免费av网站 | 成人免费毛片aaaaaa片 | av不卡在线播放 | 久久人人爽人人爽 | 久草视频播放 | 日本a视频| 成人1区2区 | 精品网站999www | 国产高清在线精品一区二区三区 | 一区二区三区中文字幕 | 日韩一区二区观看 | 在线中文日韩 | 精品三级三级三级三级三级 | 中文字幕色 | 日本综合视频 | 成人欧美| 亚洲午夜精品久久久久久app | 99免费观看 | 国产无套一区二区三区久久 | 国内精品视频在线观看 | 国产综合久久久久久鬼色 | 成人看的羞羞视频免费观看 | 欧美视频亚洲视频 | 国产精品久久久久久久久大全 | www久久久 | 二区欧美 | 日b片| 一级大片av | 精品视频在线免费观看 | 欧美日韩国产精品 | 日本中文一区二区 | 91网站在线播放 | 可以免费看的av | 久久久久久免费毛片精品 | 欧美电影一区二区三区 | 日韩欧美在线观看一区二区 | 成人黄色在线观看 | 精品一区免费观看 | 国产成人高清 | 亚洲精品字幕 | 日韩成人小视频 | 亚洲福利av | 免费不卡视频 | 国产精品精品视频一区二区三区 | 欧美三级电影在线播放 | 国产视频综合 | 一区不卡 | 日韩视频国产 | 精品自拍网| 日韩高清中文字幕 | 精品久久久久久久久久久下田 | 免费观看一级黄色片 | 色先锋影音 | 国产欧美一区二区精品忘忧草 | 一区二区在线视频 | 四虎影院网 | 精品一二三区 | 成人精品国产一区二区4080 | 最近免费中文字幕在线视频2 | 毛片毛片毛片毛片毛片毛片 | 免费国产网站 | 超碰高清 | 国产成人小视频 | 日韩视频二区 | 久久综合狠狠综合久久综合88 | 亚洲第一视频 | 81精品国产乱码久久久久久 | 日韩中文字幕一区二区 | 国产在线观看91一区二区三区 | 高清av网址 | 欧美一区二区三区xxxx监狱 | www亚洲精品 | 国产精品精品 | 黄色影视网址 | 欧美午夜精品久久久久免费视 | 中文字幕免费观看 | 国产精品成人品 | 国产伊人久| 亚洲黄色一区二区三区 | 欧美视频三区 | aaa在线观看 | 久久久综合网 | 黄色国产 | 国产精品99久久免费观看 | 亚洲视频在线播放 | 中文字幕在线观看网站 | 欧美精品一区在线 | 亚洲精品久久久一区二区三区 | 国产精品3区 | 伊人二区 | 免费三片在线观看网站 | 亚洲第一页中文字幕 | 日日天天| 久久久91| 青青久视频 | 亚洲国产中文字幕 | 亚洲激情第一页 | 国产乱码精品一区二区三区五月婷 | 成人国产在线观看 | 欧美激情综合色综合啪啪五月 | 北条麻妃99精品青青久久 | 国产精品视频久久久 | 国产精品一区二区在线观看 | 91在线播放视频 | 六月综合激情 | 国产精品久久9 | 久久青青 | 国产精品日韩欧美一区二区三区 | 国产精品一区一区三区 | 国产精品毛片一区视频播 | 操操操操网 | 精品久久一区 | 在线色网站| 久久av一区二区三区 | av免费在线播放 | 免费高清av| 久久久一区二区三区 | 国产精品久久久久久久娇妻 | av大片 | www.国产| 日韩一区二区三区在线观看 | 成人免费视频观看 | 在线欧美色 | 在线免费观看成年人视频 | 国产噜噜噜噜噜久久久久久久久 | 91亚洲国产精品 | 欧美日韩a v| 午夜视频精品 | 成人精品在线视频 | 久久久国产精品视频 | 免费福利视频一区二区三区 | 久久中文在线观看 | 另类中文字幕 | 99久久久久久 | 欧美成人精品激情在线观看 | 欧美一区二区三区免费 | 国内自拍视频在线观看 | 在线a视频 | 亚洲午夜精品 | 一区二区三区在线 | 欧 | 美国一级黄色片 | 在线观看日韩 | 欧美视频在线播放 | 人人草人人| 欧美黄色片 | 亚洲欧美久久久 | 中文字幕 在线观看 | 伊人一区 | 日韩精品视频在线 | 日韩欧美国产精品综合嫩v 久久久久久国产精品高清 国产目拍亚洲精品99久久精品 | 亚洲精品视频国产 | 天堂视频中文字幕 | 毛片a片 | 欧美一级黄色大片 | 91精产国品一二三区在线观看 | 日韩欧美一级在线 | 99在线精品视频 | 一级视频毛片 | 女人毛片a毛片久久人人 | 奇米精品一区二区三区在线观看 | 日韩av免费在线观看 | 日韩超级毛片 | 欧美性大战久久久久久久蜜臀 | 欧美黄色片免费观看 | 亚洲精品福利在线 | 国产真实精品久久二三区 | 亚洲精品专区 | 欧美国产在线观看 | 一级视频在线免费观看 | 中文字幕在线免费视频 | 久久9国产偷伦 | 2019亚洲日韩新视频 | 色婷婷亚洲一区二区三区 | 中文字幕精品一区 | 中文字幕视频在线播放 | 久久成人18免费网站 | 国产野精品久久久久久久不卡 | 国产成人精品免高潮在线观看 | 91丨九色丨国产 | 免费不卡视频 | 国产欧美日韩综合精品一区二区 | 国产日韩精品视频 | 亚洲精品在线播放 | 日韩国产一区二区 | 精品人伦一区二区三区蜜桃视频 | 99re在线精品 | 比利时xxxx性hd极品 | 91av国产视频 | 国产精品网址 | 国产在线成人 | 成人午夜免费视频 | 色黄网站 | 国产日韩精品在线观看 | 九九久久精品视频 | 久久久久久久一区二区三区 | 黄色a级网站| 色天天综合久久久久综合片 | 一区二区三区在线播放 | www伊人| 亚洲成人精品久久久 | 精品久久av | 欧美大片在线看免费观看 | 一区二区三区国产 | 国产精品久久久久久久久久久久久久久久 | 久久精品国产精品 | 在线精品一区二区 | 在线视频亚洲 | 在线成人www免费观看视频 | 久久婷婷国产麻豆91天堂 | 99热手机在线观看 | 日本一级毛片视频 | 国产欧美精品一区 | 久久精品视频免费看 | 婷婷网址 | 亚洲国产精品久久久 | 亚洲一区中文 | 欧美精品综合 | 日本在线观看 | 日韩有码在线播放 | 亚洲一区中文字幕在线观看 | 久久亚洲精品中文字幕 | 国产高清自拍 | 在线高清av | 日韩欧美在线播放 | 国产精品日韩专区 | 五月婷婷导航 | porn在线视频 | 国产视频久久久久 | 国产精品综合 | 黄色拍拍视频 | 欧美视频免费看 | 国产欧美亚洲精品 | 久久久久久免费视频 | 在线亚洲人成电影网站色www | 日本不卡精品 | 亚洲国产成人在线观看 | 久久久久久久久久一区二区 | 91久久久久久久久久久久久久久久 | 国产福利91精品一区二区 | 性色av一区二区三区 | 欧美xxxx做受欧美 | 日日操天天爽 | 黄色av网站在线观看 | 黄色一级网站视频 | 国产日韩亚洲欧美 | а天堂中文最新一区二区三区 | 四虎最新影视 | 久热精品在线视频 | av在线免费观看一区二区 | 成人网av| 精品国产三级a在线观看 | 欧美精品成人 | 天天视频成人 | 日日干夜夜骑 | 久久亚洲一区 | 91亚洲国产成人久久精品网站 | 中文字幕在线观看网站 | 亚洲免费在线视频 | 亚洲欧美激情另类 | 成人精品鲁一区一区二区 | 精品一区免费 | 台湾佬亚洲色图 | 有码在线 | 自拍偷拍在线视频 | 天天久久综合网 | 久草久草久草 | av电影手机在线看 | 丁香五月网久久综合 | www伊人| 久久天堂| 正在播放国产精品 | 精品成人 | 免费看片一区二区三区 | 亚洲狠狠 | 欧美日韩国产在线 | 男人的天堂久久 | 日韩和的一区二区 | 成人精品一区二区三区中文字幕 | 欧美黑人一级爽快片淫片高清 | 神马久久精品 | 国产高清网站 | 日韩免费网站 | 欧美日韩国产免费一区二区三区 | 亚洲网站在线观看 | www.国产91| 国产精品中文 | 激情毛片 | 国产激情精品一区二区三区 | 国产日韩一区二区三区 | 又黄又爽的网站 | 国产精品久久7777 | 我和我的祖国电影在线观看免费版高清 | 在线欧美日韩 | 国产片淫级awww | 精品一区免费 | 亚洲看片网站 | 精品一区二区6 | 探花在线观看 | 日韩欧美在线一区二区 | 97色在线视频 | 精品国产一区二区在线 | 色偷偷噜噜噜亚洲男人 | 91精品久久久久久久 | 成人超碰在线观看 | 成人免费xxxxx在线观看 | 一区二区三区高清不卡 | 精品成人国产 | 久久久久久久成人 | 亚洲高清在线 | 一级女性全黄久久生活片免费 | 久草 在线 | 精品国产三级 | 91资源在线 | 亚洲五月婷婷 | 欧美精品在线免费观看 | 91欧美在线 | 人人草视频在线观看 | 亚洲精品免费视频 | 欧美成人精品一区二区三区 | 中文字幕国产日韩 | 99久久婷婷国产综合亚洲 | 一二三区精品 | 国产男女做爰免费网站 | 欧美 日韩 在线播放 | 黄色在线免费看 |