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

當(dāng)前位置:首頁(yè) > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 程序開(kāi)發(fā)教程 > IHTMLDocument2接口訪問(wèn)Dom,完成自動(dòng)搜索

IHTMLDocument2接口訪問(wèn)Dom,完成自動(dòng)搜索
2009-12-23 10:57:24  作者:cnblogs  來(lái)源:cnblogs

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

 之所以寫(xiě)這個(gè)東西,是一個(gè)網(wǎng)管朋友出50元大洋讓我寫(xiě)的,有了這個(gè)東東,在網(wǎng)吧可以很輕松的做網(wǎng)吧增值廣告了.當(dāng)時(shí)是星期天,想著又沒(méi)有事做,就答應(yīng)了,雖知星期天的事情還真多,知道昨天晚上才搞定.

 我們來(lái)看下這位朋友的要求:

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

2、打開(kāi)軟件后搜索一次(搜索關(guān)鍵詞最好從我那網(wǎng)站調(diào)用,因?yàn)槲夷蔷W(wǎng)站的關(guān)鍵字是隨機(jī)網(wǎng)絡(luò)熱門(mén)關(guān)鍵字地址是http://61.187.248.172:8099/listc.do這個(gè)地址最好也能配置,因?yàn)橛袝r(shí)會(huì)變)
3、搜索一次后還必須要點(diǎn)擊一次搜索到的結(jié)果,不然會(huì)視為無(wú)效搜索。
4、等上幾秒(最好可以通過(guò)配置文件配置)再運(yùn)行一次搜索即可,當(dāng)然最好能讓他運(yùn)行三次,運(yùn)行三次后還是等上幾十分鐘(最好能配置)再運(yùn)行。
5、全后臺(tái)運(yùn)行,不能移動(dòng)改變鼠標(biāo)位置。

 

一條條分析下:

第一個(gè)要求,too easy ,編程花費(fèi)時(shí)間可以忽略不計(jì),用ini文件,用GetPrivateProfile**的api搞定

第二個(gè)要求:分兩步,

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

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

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

第三個(gè)要求:沒(méi)什么了,第二個(gè)要求中的差不多,其實(shí)應(yīng)該還簡(jiǎn)單的,因?yàn)樗阉鹘Y(jié)果是一個(gè)框架的,而且又沒(méi)有跨域的問(wèn)題.不過(guò)唯一不好的就是搜索結(jié)果的鏈接默認(rèn)是在新窗口打開(kāi)的,這樣的話,這個(gè)軟件就不能夠足夠的隱藏了,因?yàn)闀?huì)打開(kāi)一個(gè)新的瀏覽器窗口了,解決辦法,就是在當(dāng)前打開(kāi)了,所以更改鏈接的target屬性.

第四個(gè)要求:用SetTimer搞定即可.

第五個(gè)要求:沒(méi)什么了,隱藏對(duì)話框窗口.

先搞個(gè)圖片:

下面就開(kāi)始主演登場(chǎng)了

 

首先盜用別人的一張圖來(lái)展示下網(wǎng)頁(yè)的結(jié)構(gòu)

 

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

m_ie是與activeX Microsoft web browser控件關(guān)聯(lián)的變量,CComPtr是Com了,可以實(shí)現(xiàn)智能指針

代碼
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;
    }

 

 

上面在分析中說(shuō)了要第二個(gè)要求中,有框架的,還要跨域的,可以看上圖,我們知道對(duì)已訪問(wèn)框架網(wǎng)頁(yè)的IHtmlDocument2,我們需要要獲取Frame對(duì)象,然后是Window對(duì)象,然后再次才是框架網(wǎng)頁(yè)的IHTMLDocument2對(duì)象.

所以就按此順序來(lái)了

 

代碼
    spHtmlDoc->get_readyState(&state); 
        pSate 
= _com_util::ConvertBSTRToString(state);
        
if(strcmp(pSate,"complete")==0//檢測(cè)下?tīng)顟B(tài)
        {
            
        }
        
else
        {
            
return;
        }
        
//開(kāi)始解析網(wǎng)頁(yè)
        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);
        
//獲取第一個(gè)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;//為了跨域訪問(wèn)
        if(SUCCEEDED(lpDispatch->QueryInterface(IID_IHTMLWindow2,   (LPVOID   *)&pHTMLWnd)))   
        {   
             pChilDoc 
= HtmlWindowToHtmlDocument(pHTMLWnd); //為了跨域訪問(wèn),此函數(shù)突破跨域限制
             if (pChilDoc==NULL)
             {
                 
return;
             }
        }
        
else
        {
            
return;
        }

 

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

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

傳達(dá)室就像一個(gè)Document對(duì)象,而箱子就是一些元素的集合,老爺爺就是IDispatch了,信和郵件就是我們要的網(wǎng)頁(yè)元素了,像a input table等.

上面的代碼中有突破跨域的,其實(shí)也是很實(shí)用的,這個(gè)傳達(dá)室沒(méi)有我的郵件,我得到另一個(gè)找找看了,不能吊死到一棵樹(shù)上呀

上面用到得HtmlWindowToHtmlDocument函數(shù)是從MSDN的forum上找到得,經(jīng)過(guò)我稍微的改版,改成適合我當(dāng)前工程的函數(shù),下面貼出來(lái)了

 

代碼
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來(lái)獲取Document對(duì)象了,我早說(shuō)了,自己的電腦能不聽(tīng)自己的話么.即使不聽(tīng),也得教訓(xùn)下,讓它聽(tīng)話.

其實(shí)上面基本就是核心代碼了,這里需要注意的就是VARIANT 和BSTR類型變量的使用,這個(gè)網(wǎng)上的資料還是很多的,我看網(wǎng)上的資料沒(méi)看明白,看msdn明白了.

VARIANT 就是一個(gè)為了實(shí)現(xiàn)語(yǔ)言無(wú)關(guān)性,Com接口中的.用的時(shí)候,就是指定下當(dāng)前的數(shù)據(jù)類型,然后往指定的數(shù)據(jù)類型的屬性中賦值就可以了,是一個(gè)封裝了大多數(shù)基本數(shù)據(jù)類型的類.

 

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

 

代碼
void CTimerSerachDlg::OnTimer(UINT_PTR nIDEvent)
{
    
// TODO: 在此添加消息處理程序代碼和/或調(diào)用默認(rèn)值
    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//檢測(cè)下?tīng)顟B(tài)
        {
            
        }
        
else
        {
            
return;
        }
        
//開(kāi)始解析網(wǎng)頁(yè)
        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);
        
//獲取第一個(gè)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);//開(kāi)始單擊按鈕
    }
    
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;
        }
        
//開(kāi)始解析網(wǎng)頁(yè)
        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);
        
//獲取第一個(gè)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);//開(kāi)始單擊搜索結(jié)果
    }
安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 日本一区二区三区视频免费看 | 国产综合精品一区二区三区 | 欧美日韩久久 | 精品国产一区二区在线 | 国产丝袜人妖ts黄檬 | 性视频网站免费 | 9999久久久久 | 91一区二区三区久久国产乱 | 日韩在线视频观看 | 久久久久久麻豆 | 999精品视频| 激情综合色综合久久综合 | 国产一级免费视频 | 欧美日免费 | 亚洲性视频网站 | 新99热 | 五月激情综合网 | 亚洲福利一区 | 成人黄色电影小说 | 99re视频| 精品www | 一区二区三区在线 | 中文字幕一区二区三区精彩视频 | 黄色网在线看 | 亚洲国产精品久久久久 | 欧美日韩中文在线 | 日韩一区二区三区av | 一区二区电影 | 国产区免费在线观看 | 91在线免费观看 | 99精品久久久久久久免费看蜜月 | 国产精品亚洲精品 | 欧美一级片免费在线观看 | 日韩成年人视频 | 日韩成人国产 | 视频一区二区三区中文字幕 | 凹凸日日摸日日碰夜夜爽孕妇 | 天天久久 | 国产精品美乳一区二区免费 | 色网站在线观看 | 日本69视频| 亚洲成人久久久 | 日韩www | 97超碰免费| 日韩欧美在线观看一区二区三区 | 国产精品久久精品久久 | 欧美成人综合在线 | 免费观看毛片 | 国产精品久久久久久久久久新婚 | 免费在线一区二区三区 | 美国黄色毛片女人性生活片 | 精品96久久久久久中文字幕无 | 亚洲视频一区 | 国产综合视频 | 国产精品91av | 天天影视色香欲 | av午夜 | 国产麻豆乱码精品一区二区三区 | 中文字幕一区二区三区四区不卡 | 日韩精品不卡 | 成人深夜小视频 | 美女久久久久久久久久久 | 成人网18免费网站 | 中文字幕在线视频网站 | www.久久| 四影虎影ww4hu55.com| 男女羞羞视频免费在线观看 | 91精品久久久久久久久久 | 中文字幕第十二页 | 中文字幕在线免费播放 | 精品久久中文字幕 | 亚洲国内精品 | 成人在线观看免费视频 | 亚洲一区二区 | 欧美精品片 | aaa级片 | 日韩一级免费在线观看 | 青青草一区二区 | 欧美精品久久久 | 色偷偷噜噜噜亚洲男人 | 中文字幕日韩欧美 | 黑人巨大精品欧美一区二区免费 | 亚洲精品一区二区三区在线 | 日韩成人在线观看 | 欧美日韩国产精品一区 | 97精品国产 | 男女18免费网站视频 | 品久久久久久久久久96高清 | 国产亚洲精品久久久久动 | 婷婷久久五月 | 在线一区视频 | 成人亚洲 | 久久蜜桃av一区二区天堂 | 国产区福利 | 97国产超碰 | 91精品久久久久久久久 | 日韩国产一区二区 | 国产欧美日韩精品一区二区三区 | 国产精品久久久久久久久久久久久久久久 | 久久亚洲高清 | 国产69精品99久久久久久宅男 | 国产精品久久一区二区三区 | 亚洲一区二区三区免费在线 | 国产精品久久7777 | 久久美女视频 | 亚洲xxxx3d| 欧美一区二区三区电影 | 国产高清一区二区 | 久久国内精品 | 欧洲成人午夜免费大片 | 欧美日韩视频 | 在线成人免费视频 | 亚洲福利一区 | 欧美日韩亚洲一区二区 | 一区福利 | 中文字幕精品一区久久久久 | 伊人久久综合 | 女同videos另类 | 午夜精品久久久久久久白皮肤 | 老司机深夜福利视频 | 亚洲精品影院 | 操操操夜夜操 | 国产日韩欧美一区二区 | 91高清在线| 免费观看一区二区三区 | 日韩a∨精品日韩在线观看 山岸逢花在线 | www.亚洲 | 午夜激情影院 | www在线看片 | 日韩在线视频免费看 | jizz中国zz女人18高潮 | 国产一区二区自拍 | 欧美日韩视频在线观看免费 | 亚洲精品在线视频观看 | 日韩久久久久久久久久久 | 国产色婷婷精品综合在线播放 | 91在线资源 | 久久亚洲国产精品 | 精品人成| 亚洲一区欧美一区 | 综合久久久 | 精品1区2区 | 在线高清av| 在线免费国产视频 | 在线成人免费视频 | 婷婷五月在线视频 | 五月婷婷丁香 | 99国产精品99久久久久久 | 亚洲国产精品成人久久久 | 欧洲精品一区 | 在线观看中文字幕亚洲 | 日韩在线播放一区二区 | 久久三级视频 | 午夜私人影院在线观看 | 91一区二区三区久久国产乱 | 中文字幕乱码一区二区三区 | 欧美日韩一区二区视频在线观看 | 日韩一级免费在线观看 | 中文字幕天堂在线 | 中文字幕一区二区三区乱码在线 | 日韩视频在线播放 | 精品久久久久久久久久久久久久 | 国产精品夜间视频香蕉 | bxbx成人精品一区二区三区 | 欧美一区久久 | 欧美视频精品 | 久久99一区二区 | 三级免费网站 | 欧美成人精品一区二区 | 欧美激情亚洲 | 香蕉大人久久国产成人av | 欧美一区二区三区在线视频观看 | 欧美一区第一页 | 五月天中文字幕 | 日韩精品一区二区三区中文在线 | 天天看片天天操 | 亚洲小视频 | av午夜电影 | 嫩草网址 | 影音先锋亚洲精品 | 一区二区三区日韩 | 日本一区视频在线观看 | 精品久久久一区二区 | 国产91成人在在线播放 | jizz中国日本| 韩国精品免费视频 | 亚洲午夜av | 亚洲一区中文字幕在线观看 | 亚洲欧美自拍视频 | 天天射影院 | 久草久草久草 | 色www精品视频在线观看 | 91精品免费在线观看 | 久久99久久99精品免视看婷婷 | 日韩中文字幕在线免费 | 日本免费久久 | 亚洲欧美日韩另类一区二区 | 久免费视频 | 99免费精品 | 嫩草成人影院 | 日韩一区二区三区在线观看 | 午夜精品福利网 | 天天综合天天色 | 成人国产在线观看 | 国产精品日本欧美一区二区三区 | 亚洲第一se情网站 | 国产成人av一区二区 | 国产精品伦理一区 | 欧美极品一区二区三区 | www.成人| 欧美视频一级片 | 日韩不卡一区 | 欧美精品久久久 | 91综合网 | 亚洲国产成人av好男人在线观看 | 日韩免费区 | 国产精品美女久久久久aⅴ国产馆 | 久久福利| 国产精品久久久精品 | jizz在线播放 | 日韩精品在线一区 | 国产成人免费在线观看 | 成人a在线视频免费观看 | 密室大逃脱第六季大神版在线观看 | 在线99热| 中文字幕成人免费视频 | 亚洲一区中文 | 日韩中文在线 | 精品国产乱码久久久久久1区2区 | 91啦| 久久精品国产99精品国产亚洲性色 | 91精品久久 | 亚洲高清在线视频 | 日韩视频精品在线观看 | 国产成人久久 | 黄理论视频 | 69av片| 国产情侣一区二区三区 | 在线观看成人 | 国产 欧美 日韩 一区 | 成人精品免费视频 | 国产三级精品在线 | 国产真实乱全部视频 | 久久高清 | 国产欧美一区二区精品忘忧草 | 综合在线视频 | 久久久久久久久99精品 | 国产a级大片 | 日韩精品在线一区 | 一区二区三区久久 | 成人在线免费视频 | 成人黄色在线视频 | 男人久久天堂 | 日韩视频在线观看视频 | 日韩三区 | 成人老司机 | 国产精品日日 | 日本成人在线视频网站 | av大全在线 | 一区二区精品在线 | 国产精品久久久久久影院8一贰佰 | 最新国产在线 | 久久亚洲综合 | 成人在线手机版视频 | 日日搞夜夜操 | 成人综合在线观看 | 中文字幕av一区 | 日本精品免费 | 午夜激情影院 | 精品成人国产 | 国产一级视频在线播放 | 色约约精品免费看视频 | 国产成人精品一区二区在线 | 99精品视频在线免费观看 | 久久伊人成人 | 久久国产亚洲 | 中文字幕一区二区三区不卡 | 国产精品成人一区二区三区 | 亚洲二区在线观看 | 日韩在线视频观看 | 日韩视频在线观看不卡 | 91黄色在线观看 | 欧美日韩一区二区视频在线观看 | 色综合一区 | 夜夜操导航| 91视频在线| 特黄特黄a级毛片免费专区 av网站免费在线观看 | 日本精品一区二区三区在线观看 | 精品久久久久久久久久久久久久 | 伊人色综合久久久天天蜜桃 | 天天操妹子| 日韩在线视频观看 | 精品成人 | 久久精品国产精品青草 | 亚洲成人高清在线 | 国产精品国产三级国产aⅴ原创 | 亚洲成人久久久 | 午夜午夜精品一区二区三区文 | 亚洲免费影院 | 欧美精品一区二区三区中文字幕 | 羞羞网页| 在线观看免费视频a | 亚洲人人| 精产国产伦理一二三区 | 黄色av网站在线免费观看 | 国产精品久久久久久久久久妇女 | 国产精品久久久久久婷婷天堂 | 91视频免费观看 | 欧美一级毛片日韩一级 | 蜜月久综合久久综合国产 | 中文字幕精品一区久久久久 | 亚洲国产精品一区二区三区 | 精品 99 | 欧美日韩啪啪 | 91一区二区 | 国产精品美女久久久久久久久久久 | 亚洲第一中文字幕 | 久久99国产精品 | 国产免费一区二区三区最新不卡 | 国产精品永久免费 | 一区二区三区视频在线观看 | 久久国产精品99久久久久久老狼 | 久久精品视频免费观看 | 久久精品亚洲精品国产欧美kt∨ | 欧美日韩精品电影 | 爱草在线 | 日韩久久久久 | 国产成人高清精品免费5388 | 国产精品97在线 | 日韩avav| 欧美一区二区免费在线 | 国产91在线播放精品 | 亚洲国产精品综合久久久 | 最新日韩在线观看视频 | 精品久久久久久 | 免费观看黄a一级视频 | 成人a毛片 | 欧美99热 | 一区视频网站 | 国产精品极品美女在线观看免费 | 久热精品视频 | 激情亚洲| 狠狠操综合网 | 中文字幕在线观看的电影 | 免费中文字幕 | 国产成人99久久亚洲综合精品 | 午夜精品久久久久久久白皮肤 | 久久99精品久久久噜噜最新章节 | 男女av在线 | 日本网站在线免费观看 | 欧美大片免费高清观看 | 欧美精品成人 | 成人免费视频网站 | 亚洲成人一区二区 | 日韩三级在线免费观看 | 精品国产91亚洲一区二区三区www | 日韩精品视频在线 | 午夜精品久久久久 | 欧美一级黄 | 91精品久久久久久久久久久久久久久 | 亚洲乱码国产乱码精品精98午夜 | 国产日韩欧美一区 | 成人欧美一区二区三区在线播放 | 亚洲乱码二区 | 国产三级视频 | 国产电影一区二区三区图片 | 丁香婷婷久久久综合精品国产 | 97人人干 | 浴室洗澡偷拍一区二区 | 99精品欧美一区二区三区综合在线 | 91在线精品秘密一区二区 | 亚洲精品一区二区三区蜜桃久 | 免费中文字幕日韩欧美 | 亚洲成人在线视频播放 | 国产精品乱码一区二区三区 | 99久久精品免费看国产一区二区三区 | 精品视频一区二区在线观看 | 欧美综合一区二区 | 激情综合网五月婷婷 | 久久亚洲黄色 | 国产一区二区精品在线观看 | 日韩无| 精品国产一区二区三区日日嗨 | 久久久精品网 | 成人免毛片 | 国产一级片| 中文字幕一区二区三区精彩视频 | 色综合天天综合网国产成人网 | 欧美一级在线 | 久久久一区二区 | 亚洲一区二区三区四区五区中文 | 免费成人av | 欧美国产在线一区 | a级在线 | 亚洲精品成人av | 比利时xxxx性hd极品 | 免费观看日韩一级片 | 亚洲欧美中文字幕 | 亚洲精品一区国产精品 | 亚洲精品在线网站 | 国产在线二区 | 一区二区三区福利视频 | 午夜影院a | 亚洲综合激情网 | 国产一级视频在线观看 | 亚洲男人的天堂在线观看 | 精品少妇一区二区三区日产乱码 | 亚洲国产成人av好男人在线观看 | 一级毛片免费 | 中文字幕第二十六页页 | 国产欧美日韩综合精品 | 日日干夜夜操 | www.国产.com| 久久久久久久香蕉 | 亚洲日韩欧美一区二区在线 | 99精品国产一区二区 | 99久久99久久精品国产片果冻 | 日韩av在线中文字幕 | 99热精品视 | 国产日韩一区二区三免费高清 | 精品亚洲国产成av人片传媒 | 欧美性影院 | 国产精品久久久久久久久免费丝袜 | 成人免费看黄色 | 天天草天天干 | 天天草天天插 | 黄色毛片在线观看 | 99爱视频| 性做久久久久久 | 日韩综合网 | a成人 | 搡女人真爽免费午夜网站 | 日韩国产 | 国产黄色免费网站 | 黄色一级在线观看 | 久久精品国产99久久久 | 久久亚洲一区 | 色啪网站| 黄色地址 | 中文字幕亚洲欧美日韩在线不卡 | 日韩国产精品一区二区 | 91麻豆产精品久久久久久 | 午夜国产羞羞视频免费网站 | 韩国电影久久影院 | 国产农村妇女精品久久 | 六月婷婷综合 | 中文字幕亚洲欧美日韩在线不卡 | 日韩精品视频在线 | 中文字幕一区二区三区乱码图片 | 视频一区在线观看 | 日韩欧美在线视频 | 91久久精品日日躁夜夜躁国产 | 国产高清av在线一区二区三区 | 精品中文字幕一区二区 | 午夜视频网址 | 国产激情在线观看 | 色噜噜一区二区 | 国产综合久久久久久鬼色 | 午夜影院在线观看 | 欧美精品第一页 | 欧美 日韩 中文 | 激情一区二区 | 亚洲精品一区二区三区蜜桃下载 | 国产91av视频在线观看 | 亚洲免费观看 | 黄色毛片在线看 | 黄色片免费看 | 在线成人国产 | 天天操天天干天天插 | 色婷婷综合网 | 欧美视频亚洲视频 | 国产一区二区影院 | 日本一区二区在线视频 | 国产精品一区二区三区免费视频 | 成人精品 | 91av久久 | 欧美a视频 | 国产精品一区免费在线观看 | 欧美成人综合 | 永久精品 | 亚洲精品福利视频 | 三区视频| 97国产资源| 久久精品99国产精品日本 | 99色播 | 日韩精品免费观看 | 亚洲精品久久久久一区二区三区 | 日本精品999 | 国产精品国产精品国产专区不蜜 | 黑人巨大精品欧美一区二区三区 | 欧美一区二区视频 | 久久人人爽人人爽人人片av不 | 国产成人在线视频 | 久久久久久毛片免费观看 | 免费三片在线观看网站 | 成人精品在线观看 | 在线观看免费毛片视频 | 99视频精品| 99精品视频在线免费观看 | 最近韩国日本免费观看mv免费版 | 中文字幕在线观看第一页 | 三级黄视频在线观看 | 欧美手机在线 | 性视频亚洲 | 四虎久久 | 国产一区二区三区欧美 | 国产一区二区久久 | 蜜桃av在线播放 | 黄色片免费观看网站 | 吴梦梦到粉丝家实战华中在线观看 | 中国特黄毛片 | 亚洲 自拍 另类 欧美 丝袜 | 特一级毛片| 日韩精品在线一区 | 亚洲国产精品99久久久久久久久 | 亚洲av毛片 | 亚洲免费视频在线观看 | 亚洲精品乱码久久久久久金桔影视 | 亚洲精品免费看 | 91电影在线| 日本欧美国产 | 999久久久国产精品 免费视频一区 | 欧洲毛片 | 久久av网| 亚洲专区中文字幕 | 天天干夜夜拍 | 国产视频网 | 色综合久久久久 | 欧美一级黄色网 | 欧美日韩综合视频 | 91视频久久 | 亚洲 欧美 日韩在线 | 国产视频亚洲 | 91短视频版在线观看免费大全 | 中文字幕在线资源 | 日韩中文字幕一区 | 中文字幕一区在线 | 91亚洲国产 | 一级毛片电影 | 国产女人网 | 手机久久看片 | 中文字幕在线免费 | 久久综合九色综合欧美狠狠 | 欧美精品一区二区三区在线 | 欧美一级片aaa | 中文字幕在线视频观看 | 欧美视频一区 | www久 | 欧美视频区 | 国产午夜久久 | 中文字幕在线视频免费观看 | 亚洲网站免费 | 久久99国产精品免费网站 | 国产精选一区二区三区不卡催乳 | 黄色大片网站在线观看 | 真人一级毛片 | 亚洲男人的天堂在线播放 | 天堂资源最新在线 | 日韩免费视频 | 亚洲精品视频播放 | av电影手机在线看 | 艹逼网 | 色综合一区二区三区 | 青青草超碰在线 | 国产在线精品一区二区 | 在线中文一区 | 亚洲欧美一 | 精品国产91乱码一区二区三区 | 欧洲毛片 | 日韩网站免费观看 | 欧美视频精品 | 视频在线一区 | 国产综合精品 | 久久国产精品无码网站 | 成人区一区二区三区 | 狼人狠狠干 | 精品影院 | 国产精品视频 | 欧美lesbianxxxxhd视频社区 | 国产无套丰满白嫩对白 | 精品国产黄a∨片高清在线 99热婷婷 | 国产精品69久久久久水密桃 | 日本在线观看网站 | 欧美久久久久 | 九色porny丨国产精品 | av国产精品 | 国产另类一区 | 久久国产精品视频 | 日韩午夜激情 | 日韩精品一区在线视频 | 久久青 | 天天干天天爽 | 日韩三级电影在线免费观看 | 久久亚洲美女 | 蜜桃视频一区二区三区 | 国产亚洲精品久 | 日本一区二区高清视频 | 精品免费视频 | 成人h视频在线观看 | 欧美视频网站 | 一区二区日韩 | 成人一区二区电影 | 亚洲第一免费看片 | 九九色综合 | 黄色一级网站 | 日本特黄特色aaa大片免费 | 国产一级二级毛片 | 亚洲大奶网 | 黄色欧美一级片 | 亚洲欧美日韩精品久久亚洲区 | 成人日韩 | 美女黄视频网站 | 欧美一区二区三区免费在线观看 | 国产精品国产a级 | 国产伦精品一区二区三区在线 |