精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

亚洲天堂第一区| 国产日本欧美一区二区三区| 人妻av一区二区| 欧美香蕉视频| 中文字幕在线不卡一区| 99在线热播| www亚洲视频| 久久精品影视| 日韩精品在线观看视频| 日韩欧美国产片| 精品国偷自产在线视频99| www.久久久久久久久久久| 国产三级电影在线播放| 国产精品成人网| 精品国产91亚洲一区二区三区www| 国产成人a v| 激情亚洲网站| www.日韩av.com| av网站免费在线播放| 亚洲精品一区二区在线播放∴| 亚洲国产美女搞黄色| 五月婷婷一区| 亚洲色偷精品一区二区三区| 美女久久久精品| 欧美亚洲国产日韩2020| 我要看黄色一级片| 欧美一二区在线观看| 精品国产百合女同互慰| 午夜av中文字幕| 精品网站在线| 欧美视频免费在线| 日韩国产成人无码av毛片| av播放在线| 久久久久久综合| 国产精品日韩一区二区免费视频| 国产又粗又猛又黄又爽| 视频一区欧美精品| 69av在线播放| 日本黄色片视频| 国语精品一区| 久久久国产影院| 国产馆在线观看| 国产99久久| 日韩毛片在线看| 亚洲啪av永久无码精品放毛片| 亚洲tv在线| 欧美色涩在线第一页| 日韩 欧美 高清| xx欧美xxx| 亚洲国产成人va在线观看天堂| 特级黄色录像片| 毛片在线播放a| 国产精品电影一区二区| 亚洲视频sss| 电影在线一区| 国产精品网站在线观看| 亚洲欧美日韩国产成人综合一二三区 | 国产精品毛片久久| 色阁综合伊人av| a级黄色免费视频| 久久理论电影| 久久精品国产久精国产一老狼 | 538国产精品视频一区二区| 日本亚洲色大成网站www久久| 亚洲视频福利| 91精品国产色综合久久不卡98| 日本少妇毛茸茸高潮| 国产欧美日本| 日韩免费中文字幕| 中文字幕第三页| 久久99精品一区二区三区三区| 国产精品白丝久久av网站| 国产精品美女www爽爽爽| 亚洲欧美日韩国产yyy| 巨大荫蒂视频欧美大片| 悠悠色在线精品| 国产3p露脸普通话对白| 一区一区三区| 精品视频1区2区| 日本一二三四区视频| 视频在线亚洲| 精品丝袜一区二区三区| 91视频免费看片| 欧美激情一级片一区二区| 欧美激情成人在线视频| 久久久久久久久久久影院| 日日摸夜夜添夜夜添精品视频 | 男人草女人视频| 2021中文字幕在线| 91福利社在线观看| 在线a免费观看| 亚洲精品aaaaa| 中文字幕亚洲天堂| 久久精品www人人爽人人| 亚洲精选一区| 国产有码在线一区二区视频| 六月婷婷中文字幕| 国产女主播视频一区二区| 国产内射老熟女aaaa| 午夜伦理福利在线| 欧美日本国产一区| 国产精久久久久| 精品国产精品国产偷麻豆| 久久久精品国产亚洲| 日韩欧美三级视频| 激情成人综合网| 久久精品女人的天堂av| 国产超级va在线视频| 丁香五六月婷婷久久激情| 亚洲免费黄色网| 免费观看成人www动漫视频| 三级精品视频久久久久| 日产亚洲一区二区三区| 国产在线精品一区二区不卡了| 久久精品国产精品国产精品污| 国产盗摄在线观看| 日本精品一级二级| 亚洲啪av永久无码精品放毛片 | 国产99免费视频| 粉嫩一区二区三区在线看| 亚洲欧洲精品一区| 一区二区乱码| 精品日韩av一区二区| 精品熟妇无码av免费久久| 亚洲神马久久| 国产高清自拍99| 国产理论在线观看| 日韩欧美在线视频| 黄色国产在线视频| 欧美成人综合| 成人免费淫片aa视频免费| 国产精品视频一区二区久久| 黑人精品xxx一区| 性活交片大全免费看| 综合久久一区| 91久久夜色精品国产网站| wwwxxx在线观看| 一本大道久久a久久精品综合| 精品无码人妻少妇久久久久久| 中文字幕日韩一区二区不卡| 国产精品视频在线观看| 国产最新视频在线| 色系网站成人免费| 欧美性xxxx图片| 亚洲自啪免费| 欧美日韩高清免费| 性欧美超级视频| 亚洲人成在线观看| aaa在线视频| 久久精品人人爽人人爽| 久久美女福利视频| 蜜桃成人av| 国产97在线|日韩| 风间由美一区| 欧美性生活大片视频| 五月婷婷婷婷婷| 免播放器亚洲一区| 亚洲自拍三区| 国产视频网站一区二区三区| 美女扒开尿口让男人操亚洲视频网站| 国产精品欧美综合亚洲| 亚洲男人的天堂在线观看| 亚洲女人在线观看| 午夜精品偷拍| 国产日韩欧美亚洲一区| 忘忧草在线影院两性视频| 日韩精品亚洲视频| 波多野结衣激情视频| 国产精品久线在线观看| 久久久久久久久久毛片| 欧美国产三区| 精品综合在线| 不卡亚洲精品| 久久av中文字幕| 欧美一级一区二区三区| 第一福利永久视频精品 | 亚洲精品久久久久久久久久 | 欧美做受777cos| 97久久综合区小说区图片区| 午夜免费日韩视频| 国产黄色片在线播放| 91精品久久久久久蜜臀| 精品肉丝脚一区二区三区| 97久久超碰国产精品电影| 免费男同深夜夜行网站| 日韩一区三区| 国产精品久久亚洲| 欧美日韩成人影院| 不卡av日日日| 欧美zzoo| 欧美一区2区视频在线观看| 日本最新中文字幕| 国产精品久久久久久久久免费桃花| 国产精品igao网网址不卡| 亚洲永久字幕| 日日噜噜夜夜狠狠久久丁香五月| 狠狠一区二区三区| 国产精品福利在线| 第四色日韩影片| 在线电影av不卡网址| 狠狠综合久久av一区二区| 色就色 综合激情| 麻豆国产尤物av尤物在线观看| 久久久久久久av麻豆果冻| 在线成人免费av| 全国精品久久少妇| 少妇人妻大乳在线视频| 久久一本综合| 久久久久免费网| 亚洲啊v在线免费视频| 国产97在线|亚洲| 91高清视频在线观看| 亚洲欧美在线磁力| 免费a级片在线观看| 欧美日韩情趣电影| 欧美超碰在线观看| 亚洲aaa精品| 国产1区2区3区4区| 国产精品少妇自拍| 性欧美成人播放77777| 国产精品一区在线| 久久人人爽av| 日韩成人免费在线| 精品视频一区二区在线| 狠狠色丁香久久综合频道| 中文字幕中文字幕在线中心一区 | 成人一级视频在线观看| 91亚洲精品久久久蜜桃借种| 巨乳诱惑日韩免费av| xxxx18hd亚洲hd捆绑| 一个色综合网| 在线播放豆国产99亚洲| sdde在线播放一区二区| 欧美在线播放一区二区| 天海翼精品一区二区三区| 动漫一区二区在线| 久久久久久久久久久久电影| 国产欧美一区二区三区久久| 校园春色亚洲色图| 国产aⅴ夜夜欢一区二区三区| 在线免费日韩片| 91禁国产网站| 日本三级一区| 91国产精品电影| 免费h在线看| 欧美一级片在线播放| 欧美少妇网站| 欧美有码在线视频| 婷婷六月国产精品久久不卡| 欧洲成人免费视频| 欧美黑人疯狂性受xxxxx野外| 97婷婷涩涩精品一区| 在线天堂新版最新版在线8| 91av在线不卡| 欧美freesex| 国产精品一区二区久久精品| 欧美一级做a| 亚洲在线免费观看| baoyu135国产精品免费| 国产青春久久久国产毛片| 亚洲人成网站77777在线观看| 日产中文字幕在线精品一区| 欧美亚洲国产一区| 中国黄色录像片| 悠悠资源网久久精品| 99精品在线免费视频| 日韩中文字幕麻豆| 久热精品在线播放| 国产成人在线免费观看| 国产精品九九视频| 久久九九久久九九| 男人在线观看视频| 亚洲一区二区三区视频在线| 豆国产97在线 | 亚洲| 日韩欧美国产一区二区| 中文字幕在线播放日韩| 91精品国产色综合久久ai换脸| 亚洲精品国产片| 亚洲网址你懂得| 麻豆视频在线观看免费网站| 欧美激情久久久| 国产另类xxxxhd高清| 91久久久久久久久久久| 婷婷成人影院| 在线码字幕一区| 亚洲麻豆一区| 国产一二三四在线视频| 国产成人午夜片在线观看高清观看| 中国极品少妇videossexhd | 九九视频免费在线观看| 欧美日韩中文字幕在线| 一级片免费观看视频| 亚洲国产精品国自产拍av秋霞| 国产精品一二三区视频| 欧美黑人一级爽快片淫片高清| 伊人久久精品一区二区三区| 成人免费淫片aa视频免费| 亚洲精华一区二区三区| 成年人三级视频| 丝袜国产日韩另类美女| 三大队在线观看| 中文字幕av不卡| 久久精品国产亚洲AV无码男同| 欧美日韩一级二级三级| 秋霞网一区二区| 久久韩国免费视频| 二区三区不卡| 成人av电影免费| 91综合久久一区二区| 免费在线a视频| 国产精品小仙女| 毛片久久久久久| 色狠狠桃花综合| 欧美视频久久久| 日韩一区三区| 91国语精品自产拍在线观看性色| 午夜精品久久久久久久久久蜜桃| yellow视频在线观看一区二区| 教室别恋欧美无删减版| 欧美精品久久久久久久自慰| 精品一区二区日韩| 国产美女精品久久| 亚洲午夜精品17c| 国产精品天天操| 色香阁99久久精品久久久| 亚洲欧美韩国| 黄色99视频| 亚洲无线一线二线三线区别av| www午夜视频| 中日韩免费视频中文字幕| 亚洲va在线观看| 亚洲国产一区自拍| 国产91足控脚交在线观看| 91久久精品久久国产性色也91| 第一会所亚洲原创| 成年人黄色片视频| 26uuu国产电影一区二区| 久久夜色精品亚洲| 亚洲精品一区二区精华| 毛片在线网址| av成人观看| 欧美激情1区| 国产精品一级无码| 尤物视频一区二区| 亚洲乱码在线观看| 欧美日本国产在线| 亚洲欧洲国产精品一区| 九九久久九九久久| 国产精品亚洲视频| 麻豆国产尤物av尤物在线观看| 日韩欧美一级片| 男女在线观看视频| 国产精品久久精品国产| 狠狠入ady亚洲精品经典电影| 日本人妻一区二区三区| 亚洲国产视频一区| 嫩草影院一区二区| 91成人在线播放| 精品在线播放| 一区二区三区 欧美| 国产精品国产自产拍在线| 在线免费观看日韩视频| 中文综合在线观看| 久久伊人精品| 久久亚洲精品无码va白人极品| 99久久免费精品高清特色大片| 国产成人综合欧美精品久久| 亚洲欧美日韩天堂| 欧美电影在线观看网站| 久久精品国产精品亚洲精品色| 国产精品一区二区久久不卡| 日韩av电影网址| 亚洲欧洲第一视频| 美女久久久久久| 国产精品免费看久久久无码| 成人免费视频播放| 一级片在线观看免费| 日韩天堂在线视频| 中文字幕亚洲在线观看| 一女被多男玩喷潮视频| 国产精品理论在线观看| 成人毛片视频免费看| 国产91精品久久久久久| 久久中文字幕av| 农村末发育av片一区二区| 欧美性色xo影院| 巨大荫蒂视频欧美另类大| 国产一区二区三区四区hd| 免费黄网站欧美| 久久黄色免费网站| 亚洲网址你懂得| 亚洲综合色婷婷在线观看| www黄色av| 亚洲天堂av一区| 四虎精品在永久在线观看| 国产日韩欧美夫妻视频在线观看 | 在线观看亚洲视频| 永久免费精品视频| 色多多视频在线播放| 亚洲国产精品久久人人爱|