精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一個.NET調(diào)用PHP Web Service的典型例子

開發(fā) 后端
最近一個項目由"WinForm直接訪問DB2"移植到"WinForm通過PHP Web Service來訪問DB2”。優(yōu)點(diǎn)是php可以架在Linux上,而Linux是免費(fèi)的。這里將以這個.NET調(diào)用PHP Web Service為例子進(jìn)行介紹。

最近一個項目由"WinForm直接訪問DB2"移植到"WinForm通過PHP Web Service來訪問DB2”。

這個命題的難點(diǎn)不是訪問DB2,而是.NET調(diào)用PHP Web Service。對于我這個長期作.NET,之前一直以為只有通過.NET調(diào)用PHP Web Service……的人來說,真是有點(diǎn)強(qiáng)“聰”所難了。

但是問題還是要解決的,期限就擺在眼前呢。經(jīng)過一番調(diào)查,終于有了眉目,現(xiàn)在分享給大家。

首先要說明的,PHP服務(wù)器需要至少需要兩個文件——一個WSDL文件和一個PHP文件。WSDL文件是一種機(jī)讀的XML文件,用于描述WebService提供的服務(wù)和調(diào)用方法(對于.NET則可以自動生成調(diào)用代碼,十分好用),php文件就是真正實(shí)現(xiàn)的WEB服務(wù)了。

1)PHP服務(wù)器端代碼

1-1)TestWebService.php代碼

  1. TestWebService.php  
  2. <?php  
  3. class TestWebService  
  4. {  
  5.     public function HelloWorld()  
  6.     {  
  7.         return array("HelloWorldResult"=>"Hello");  
  8.     }  
  9.  
  10.     public function GetArray($args)  
  11.         {  
  12.           /*  
  13.            注意,Web Service的方法在聲明時至多一個參數(shù),  
  14.             可是在調(diào)用該方法時就必須傳value1,value2兩個參數(shù)。  
  15.             (這一點(diǎn)十分令人費(fèi)解,我的理解是,在調(diào)用該方法時,系統(tǒng)把所有參數(shù)都放到一個對象里傳過來的)  
  16.           */ 
  17.  
  18.         $value1 = $args->value1;    
  19.         $value2 = $args->value2;//這兩句是獲取真正的參數(shù)  
  20.    
  21.         $arry = array($value1,$value2);  
  22.  
  23.         //返回值也很特別,不是直接返回$arry,而是把它放到一個對象里再返回。  
  24.         return array("GetArrayResult"=>$arry);  
  25.     }  
  26. }  
  27. //創(chuàng)建WebSevice實(shí)例  
  28. $server = new SoapServer("TestWebService.wsdl");  
  29. //指定類名  
  30. $server->setClass("TestWebService");  
  31. $server->handle();  
  32. ?> 

1-2)TestWebService.wsdl代碼

  1. TestWebService.wsdl  
  2. <?xml version="1.0" encoding="utf-8"?> 
  3. <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> 
  4.   <wsdl:types> 
  5.     <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/"> 
  6.       <s:element name="HelloWorld"> 
  7.         <s:complexType /> 
  8.       </s:element> 
  9.       <s:element name="HelloWorldResponse"> 
  10.         <s:complexType> 
  11.           <s:sequence> 
  12.             <s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string" /> 
  13.           </s:sequence> 
  14.         </s:complexType> 
  15.       </s:element> 
  16.       <s:element name="GetArray"> 
  17.         <s:complexType> 
  18.           <s:sequence> 
  19.             <s:element minOccurs="0" maxOccurs="1" name="value1" type="s:string" /> 
  20.             <s:element minOccurs="0" maxOccurs="1" name="value2" type="s:string" /> 
  21.           </s:sequence> 
  22.         </s:complexType> 
  23.       </s:element> 
  24.       <s:element name="GetArrayResponse"> 
  25.         <s:complexType> 
  26.           <s:sequence> 
  27.             <s:element minOccurs="0" maxOccurs="1" name="GetArrayResult" type="tns:ArrayOfString" /> 
  28.           </s:sequence> 
  29.         </s:complexType> 
  30.       </s:element> 
  31.       <s:complexType name="ArrayOfString"> 
  32.         <s:sequence> 
  33.           <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" /> 
  34.         </s:sequence> 
  35.       </s:complexType> 
  36.     </s:schema> 
  37.   </wsdl:types> 
  38.   <wsdl:message name="HelloWorldSoapIn"> 
  39.     <wsdl:part name="parameters" element="tns:HelloWorld" /> 
  40.   </wsdl:message> 
  41.   <wsdl:message name="HelloWorldSoapOut"> 
  42.     <wsdl:part name="parameters" element="tns:HelloWorldResponse" /> 
  43.   </wsdl:message> 
  44.   <wsdl:message name="GetArraySoapIn"> 
  45.     <wsdl:part name="parameters" element="tns:GetArray" /> 
  46.   </wsdl:message> 
  47.   <wsdl:message name="GetArraySoapOut"> 
  48.     <wsdl:part name="parameters" element="tns:GetArrayResponse" /> 
  49.   </wsdl:message> 
  50.   <wsdl:portType name="TestWebServiceSoap"> 
  51.     <wsdl:operation name="HelloWorld"> 
  52.       <wsdl:input message="tns:HelloWorldSoapIn" /> 
  53.       <wsdl:output message="tns:HelloWorldSoapOut" /> 
  54.     </wsdl:operation> 
  55.     <wsdl:operation name="GetArray"> 
  56.       <wsdl:input message="tns:GetArraySoapIn" /> 
  57.       <wsdl:output message="tns:GetArraySoapOut" /> 
  58.     </wsdl:operation> 
  59.   </wsdl:portType> 
  60.   <wsdl:binding name="TestWebServiceSoap" type="tns:TestWebServiceSoap"> 
  61.     <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> 
  62.     <wsdl:operation name="HelloWorld"> 
  63.       <soap:operation soapAction="http://tempuri.org/HelloWorld" style="document" /> 
  64.       <wsdl:input> 
  65.         <soap:body use="literal" /> 
  66.       </wsdl:input> 
  67.       <wsdl:output> 
  68.         <soap:body use="literal" /> 
  69.       </wsdl:output> 
  70.     </wsdl:operation> 
  71.     <wsdl:operation name="GetArray"> 
  72.       <soap:operation soapAction="http://tempuri.org/GetArray" style="document" /> 
  73.       <wsdl:input> 
  74.         <soap:body use="literal" /> 
  75.       </wsdl:input> 
  76.       <wsdl:output> 
  77.         <soap:body use="literal" /> 
  78.       </wsdl:output> 
  79.     </wsdl:operation> 
  80.   </wsdl:binding> 
  81.   <wsdl:binding name="TestWebServiceSoap12" type="tns:TestWebServiceSoap"> 
  82.     <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" /> 
  83.     <wsdl:operation name="HelloWorld"> 
  84.       <soap12:operation soapAction="http://tempuri.org/HelloWorld" style="document" /> 
  85.       <wsdl:input> 
  86.         <soap12:body use="literal" /> 
  87.       </wsdl:input> 
  88.       <wsdl:output> 
  89.         <soap12:body use="literal" /> 
  90.       </wsdl:output> 
  91.     </wsdl:operation> 
  92.     <wsdl:operation name="GetArray"> 
  93.       <soap12:operation soapAction="http://tempuri.org/GetArray" style="document" /> 
  94.       <wsdl:input> 
  95.         <soap12:body use="literal" /> 
  96.       </wsdl:input> 
  97.       <wsdl:output> 
  98.         <soap12:body use="literal" /> 
  99.       </wsdl:output> 
  100.     </wsdl:operation> 
  101.   </wsdl:binding> 
  102.   <wsdl:service name="TestWebService"> 
  103.     <wsdl:port name="TestWebServiceSoap" binding="tns:TestWebServiceSoap"> 
  104.       <soap:address location="http://localhost/phpmyadmin/ws/TestWebService.php" /> 
  105.     </wsdl:port> 
  106.     <wsdl:port name="TestWebServiceSoap12" binding="tns:TestWebServiceSoap12"> 
  107.       <soap12:address location="http://localhost/phpmyadmin/ws/TestWebService.php" /> 
  108.     </wsdl:port> 
  109.   </wsdl:service> 
  110. </wsdl:definitions> 

WSDL的代碼比較長,當(dāng)方法很多時,手敲代碼是不太可能的。有一個巧的辦法,就是也用.NET實(shí)現(xiàn)一個不含真正方法體的Web Serivce,然后通過http://***/TestWebService.asmx?wsdl的方法生成wsdl代碼文件。

關(guān)于WSDL文件,我要說明特別說明兩點(diǎn):

(1)soap:address結(jié)點(diǎn)是聲明WebService的地址,在部署時要改成相應(yīng)地址;

(2)一維數(shù)組的聲明類型為ArrayOfType,字符串?dāng)?shù)組為ArrayOfString。如果Type不是簡單類型,則Type需要另外聲明。

2).NET客戶端代碼

先要添加Web引用,地址為WSDL文件的Http地址。

.NET調(diào)用PHP Web Service調(diào)用代碼(C#)

  1. //初始化WebService  
  2.         localhost.TestWebService srv = new localhost.TestWebService();  
  3.         //調(diào)***個方法  
  4.          string str = srv.HelloWorld();  
  5.         //調(diào)第二個方法  
  6.          string[] arrysrv.GetArray("string1","string2"); 

.NET調(diào)用PHP Web Service總結(jié):

(一)PHP是一種弱類型語言,檢查錯誤比較困難。array類型也與一般理解的數(shù)組不同,它也有類似Hashtable的用法。

(二)PHP Web Service方法的傳入?yún)?shù)、返回值都至多有一個,因?yàn)檎嬲{(diào)用時的參數(shù)和返回值,都是包裝到一個對象中傳送的。

(三)PHP Web Service也支持自定義類型和自定義類型數(shù)組等復(fù)雜類型,但不支持多組數(shù)組。

(四)若返回值需要是多張二維表時,我淺薄的以為,可以傳化一組字符串?dāng)?shù)組傳送,格式為

[表1行數(shù)],[表1列數(shù)],[表1列名1],[表1列名2],……[表1列名N],[表1中按行列存放的值]

[表2行數(shù)],[表2列數(shù)],[表2列名1],[表2列名2],……[表2列名N],[表2中按行列存放的值]……

[表M行數(shù)],[表M列數(shù)],[表M列名1],[表M列名2],……[表M列名N],[表2中按行列存放的值]

按順序?qū)⑸厦鎇]中的內(nèi)容串成字符串?dāng)?shù)組,效率還不錯,我測試10000行240列的數(shù)據(jù),我有現(xiàn)成編解代碼,有興趣的可以向我索取.

【編輯推薦】

  1. PHP 5.3中的命名空間使用方法淺述
  2. PHP 5.3.0發(fā)布 新增命名空間等多項特性
  3. PHP的命名空間
  4. PHP 5.3閉包語法初探
  5. PHP 5.3新版特性淺析
責(zé)任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2009-10-13 11:22:46

VB.NET調(diào)用Web

2009-10-29 11:26:28

VB.NET調(diào)用Web

2024-01-08 13:40:00

并發(fā)安全? 數(shù)量

2014-04-14 15:54:00

print()Web服務(wù)器

2009-07-14 16:02:42

JDBC例子

2015-10-08 08:53:46

PHP代碼片段

2012-11-29 09:49:17

軟件項目項目

2009-07-23 16:44:50

XML Web服務(wù)使用ASP.NET構(gòu)造

2009-12-11 18:05:39

PHP鏈接WEB SE

2009-10-13 10:21:58

VB.NET實(shí)現(xiàn)Web

2009-10-29 09:06:26

VB.NET Web

2009-10-13 09:33:49

VB.NET Web

2011-05-06 14:19:29

ExcelSQL Server

2020-03-26 17:00:53

HashMapputJava

2010-04-19 17:21:36

Oracle寫文件

2009-04-28 09:44:31

jQueryAjaxphp

2013-05-17 10:37:43

.NETWEB壓力測試WEB壓力測試工具

2009-07-27 17:32:39

Web ServiceASP.NET

2022-10-19 11:31:49

TDD開發(fā)

2009-08-26 15:53:42

C#數(shù)據(jù)訪問XML
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

亚洲成人激情综合网| 精品亚洲成a人| 亚洲国产精品成人精品| 国产中文字幕二区| 日韩有码电影| 日本不卡一区二区| 久久av在线看| 日本在线不卡一区二区| 9i看片成人免费高清| 国产日韩欧美麻豆| 成人精品一区二区三区| 国产成人啪精品午夜在线观看| 日韩av资源网| 欧美日韩色综合| 国产精品videossex国产高清| 香蕉视频国产在线| 麻豆国产精品777777在线| 九九精品在线播放| 亚洲综合网在线观看| 一区二区三区无毛| 精品久久久久人成| 自拍偷拍一区二区三区| 污污的视频免费观看| 无码国精品一区二区免费蜜桃| 噜噜爱69成人精品| 久久精品视频网站| 国产中文字幕一区二区| 97久久中文字幕| 欧美日韩精品在线视频| 国产手机视频在线观看| 免费理论片在线观看播放老| 国产高清不卡一区二区| 国产精品福利小视频| 日本中文字幕免费| 亚洲美女视频| 中文字幕国产亚洲| 中文字字幕码一二三区| 久久伊人久久| 欧美视频在线播放| 欧美日韩亚洲第一| 91福利在线尤物| 亚洲精选在线视频| 在线看视频不卡| 国产免费永久在线观看| av一本久道久久综合久久鬼色| 国产在线拍揄自揄视频不卡99 | 国产精品流白浆在线观看| 日本国产一区二区| 国模吧无码一区二区三区| 美女尤物在线视频| 亚洲人成网站色在线观看| 亚洲精美视频| 成人在线视频成人| 久久婷婷一区二区三区| 精品国产乱码久久久久软件 | 国产综合色精品一区二区三区| 国产激情久久久久| 激情视频网站在线观看| 国产精品婷婷| 欧美在线国产精品| 日韩精品成人在线| 亚洲精品综合| 91成人免费观看网站| 日韩毛片在线播放| 亚洲精品资源| 欧美专区在线视频| 亚洲另类在线观看| 久久久噜噜噜久久狠狠50岁| 日本精品性网站在线观看| 天码人妻一区二区三区在线看 | 中文字幕二三区不卡| 欧美中文娱乐网| 黄色软件在线观看| 国产欧美一区二区精品忘忧草| 日韩久久久久久久| 91精品大全| 亚洲蜜臀av乱码久久精品蜜桃| 成人手机在线播放| 美女网站视频在线| 福利微拍一区二区| 国产免费999| 亚洲精品乱码日韩| 日韩亚洲欧美高清| 亚洲精品第二页| 私拍精品福利视频在线一区| 亚洲午夜精品久久久久久性色| 国产三级短视频| 性欧美欧美巨大69| 久久久久久久久久久久av| 97超碰人人干| 日韩av不卡在线观看| 成人精品一区二区三区电影黑人| 99精品国产99久久久久久97| 国产白丝精品91爽爽久久| 久久99精品国产一区二区三区| 三级黄视频在线观看| 国产精品视频yy9299一区| 精品国产一区二区三区在线| 男人av在线播放| 欧美日韩在线免费视频| 日本少妇xxxx软件| 精品国产99| 精品自拍视频在线观看| 秋霞精品一区二区三区| 国内精品伊人久久久久av一坑| 韩国成人av| √新版天堂资源在线资源| 亚洲国产精品尤物yw在线观看| 午夜欧美福利视频| 99a精品视频在线观看| 亚洲色图日韩av| 欧美激情精品久久| 日本少妇一区二区| 国产精品区二区三区日本| 二区在线视频| 亚洲国产视频一区| 色www免费视频| 欧美绝顶高潮抽搐喷水合集| www日韩欧美| 久久国产精品系列| 国产精品原创巨作av| 日本高清久久一区二区三区| 日本h片在线观看| 欧美日韩免费高清一区色橹橹| 亚洲av无码一区二区三区观看| 99精品视频在线| 欧美亚洲日本网站| 亚洲女人18毛片水真多| 中文字幕不卡一区| 男人日女人下面视频| 欧美激情精品| 久久久www成人免费精品张筱雨| 神马久久久久久久| 9人人澡人人爽人人精品| 中国一级黄色录像| 欧美日韩女优| 亚洲无线码在线一区观看| 久久露脸国语精品国产91| 国产麻豆日韩欧美久久| 亚洲在线色站| 日韩av一级| 国产一区二区av| 天堂网免费视频| 99久久精品免费看国产| 成人在线视频一区二区三区| 成人免费91| 中文字幕无线精品亚洲乱码一区| 成人在线免费看视频| 成人做爰69片免费看网站| 91免费网站视频| 免费日韩成人| 日韩视频第一页| 中文字幕网址在线| 日本一区二区高清| 99草草国产熟女视频在线| 国产欧美日韩在线一区二区 | 国产精品第108页| 国产v综合v亚洲欧| 美脚丝袜脚交一区二区| 国产女人18毛片水真多18精品| 久久久久久国产| 日日夜夜精品免费| 欧美日韩日本国产| 伊人久久一区二区三区| 9久re热视频在线精品| 国产一区二区三区av在线| 不卡专区在线| 国产偷亚洲偷欧美偷精品| 免费看毛片网站| 久久久国际精品| 黄色三级视频在线| 婷婷综合伊人| 91九色偷拍| 国产福利片在线观看| 亚洲精品一区在线观看香蕉| 国产精品尤物视频| 国产精品欧美极品| 国产毛片久久久久久| 午夜精品久久| 国产欧美一区二区三区另类精品| 日韩在线伦理| 正在播放亚洲1区| 国产超碰人人模人人爽人人添| 亚洲图片欧美视频| 中文字幕 亚洲一区| 蜜臀av一区二区在线免费观看| 中文字幕av日韩精品| 青草伊人久久| 91高清视频免费观看| 番号集在线观看| 欧美一级专区免费大片| 国产成人一区二区三区影院在线| 国产情人综合久久777777| 中文字幕22页| 亚洲一区二区毛片| 亚洲一区免费看| 国产成人澳门| 国产精品久久综合av爱欲tv| 亚洲丝袜精品| 亚洲欧美制服综合另类| 国产三级在线观看视频| 欧美午夜精品久久久久久人妖| www.99re6| 久久你懂得1024| 中文字幕一区二区三区四| 99在线精品视频在线观看| 亚洲一区二区三区免费看 | 久久偷看各类wc女厕嘘嘘偷窃 | 91精彩视频在线播放| 精品久久久久久久久久久院品网| 国产成人在线视频观看| 亚洲蜜臀av乱码久久精品蜜桃| 中文字幕一二三四区| 国产一级精品在线| 男女高潮又爽又黄又无遮挡| 亚洲精品二区三区| 欧美一级二级三级九九九| 精品91福利视频| 国产精品一区二区久久久久| sm捆绑调教国产免费网站在线观看| 这里只有精品在线观看| 精品国产九九九| 欧美午夜寂寞影院| av大片免费观看| 亚洲精品视频一区二区| 亚洲av毛片基地| 99久久久无码国产精品| 992kp免费看片| 蜜臀av在线播放一区二区三区| 中文字幕无码精品亚洲35| 欧美女激情福利| 影音先锋欧美在线| 精品美女久久久| 久久久福利视频| 偷拍精品精品一区二区三区| 高清一区二区三区四区五区| 亚洲性图自拍| 欧美噜噜久久久xxx| 麻豆影视国产在线观看| 国产一区av在线| 毛片免费在线| 精品视频—区二区三区免费| 三级小视频在线观看| 精品国产三级电影在线观看| 精品人妻av一区二区三区| 91精品国产高清一区二区三区蜜臀 | 国产视频在线观看一区二区三区| 无码人妻一区二区三区一| 精东粉嫩av免费一区二区三区| 午夜免费高清视频| 另类国产ts人妖高潮视频| 欧美日韩在线视频一区二区三区| 极品中文字幕一区| 中文字幕人妻熟女人妻洋洋| 欧美区一区二| 亚洲精品无码国产| 在线日韩中文| 欧美,日韩,国产在线| 黄色另类av| 精品无码一区二区三区爱欲| 欧美日韩亚洲一区三区| 成人一区二区av| 欧美视频导航| 婷婷无套内射影院| 亚洲精品乱码| 精品视频无码一区二区三区| 日韩国产欧美视频| 男人搞女人网站| 麻豆91在线播放免费| 午夜大片在线观看| 国产91在线观看丝袜| 午夜男人的天堂| 91丨porny丨中文| 久久久久久久久久久国产精品| 国产午夜一区二区三区| 狂野欧美性猛交| 依依成人精品视频| 日本免费一二三区| 一本高清dvd不卡在线观看| 中文字幕视频免费观看| 日韩一级免费一区| 亚洲欧洲成人在线| 伊人久久五月天| 最近中文字幕免费mv2018在线 | 日韩wuma| 亚洲精品国产成人影院| 国产69精品久久久久999小说| 男女av一区三区二区色多| 15—17女人毛片| 国产激情91久久精品导航| aaaaaav| 中文字幕一区二区日韩精品绯色| 免费人成视频在线| 一本一道波多野结衣一区二区| 亚洲综合免费视频| 欧美变态tickle挠乳网站| 免费在线黄色电影| 久久久精品一区| 免费成人动漫| 亚洲一区国产精品| 国产精品亚洲二区| 亚洲精品无码国产| 久久99久久精品| 国产国语性生话播放| 亚洲免费观看高清完整版在线观看熊 | 精品人妻aV中文字幕乱码色欲| 日韩精品一区二区三区第95| 精品黄色免费中文电影在线播放| 国内精品久久久久久久| 久久99久久久精品欧美| 国产精品亚洲综合| 欧美超碰在线| 欧美视频在线播放一区| 国产在线一区二区综合免费视频| 国产精品久久久免费观看| 亚洲欧美影音先锋| 国产婷婷色一区二区在线观看| 91.成人天堂一区| 黄色av免费在线看| 久久久久这里只有精品| 激情综合五月| 亚洲天堂电影网| 美女黄色成人网| 黄色性视频网站| 亚洲码国产岛国毛片在线| 天堂av免费在线观看| 亚洲精品美女在线观看| v天堂福利视频在线观看| 国产精品国产福利国产秒拍| 精品亚洲免a| 国产制服91一区二区三区制服| 美女视频黄久久| 国内精品卡一卡二卡三| 精品国产乱码久久久久久天美| 亚洲AV无码国产精品午夜字幕| 久久精品国产69国产精品亚洲| 韩国成人在线| 日本成人看片网址| 日韩一区精品字幕| 狠狠人妻久久久久久综合蜜桃| 亚洲午夜国产一区99re久久| 国产高清精品软件丝瓜软件| 日韩视频免费看| 成人国产精品| 亚洲福利av| 青青草原综合久久大伊人精品优势| wwwwww日本| 欧美性色xo影院| 欧美婷婷久久五月精品三区| 51色欧美片视频在线观看| 色天下一区二区三区| 玩弄中年熟妇正在播放| 成人aaaa免费全部观看| 香蕉视频一区二区| 亚洲国产一区二区三区在线观看| 超碰97免费在线| 国产伦精品一区二区三区视频孕妇| 黄色欧美成人| 亚洲中文字幕一区| 黑人巨大精品欧美一区二区| 四虎精品成人免费网站| 国产成人精品免高潮费视频| 欧美军人男男激情gay| 中文字幕第17页| 亚洲六月丁香色婷婷综合久久 | 高h视频免费观看| 日韩一二三区视频| 欧美hdxxxxx| 精品久久久久久综合日本| 午夜在线精品| 国产18无套直看片| 欧美一区二区三区精品| 国产精品蜜臀| 欧美乱偷一区二区三区在线| 日本不卡一区二区三区高清视频| 亚洲不卡在线播放| 精品久久久三级丝袜| 乱馆动漫1~6集在线观看| 日产精品高清视频免费| 精品一区二区三区不卡| 久久久久久久久久久网| 日韩成人在线网站| 欧美日韩在线精品一区二区三区激情综合| 亚洲视频电影| 高清在线观看日韩| 国产嫩bbwbbw高潮| 日韩小视频在线观看| 国产成人在线中文字幕| 日韩有码免费视频| 亚洲六月丁香色婷婷综合久久| 亚洲人成色777777老人头| 国产日韩欧美成人| 伊人久久综合| 日本猛少妇色xxxxx免费网站| 日韩丝袜情趣美女图片| 欧美性xxx| av一区二区三区免费观看| 国产欧美一区二区三区在线老狼| 国产又粗又猛又爽| 欧美亚洲另类视频|