<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## PHP SDK 集成示例 ### 普通調用示例 ~~~php $c = new AopClient; $c->gatewayUrl = "https://openapi.alipay.com/gateway.do"; $c->appId = "app_id"; $c->rsaPrivateKey = '請填寫開發者私鑰去頭去尾去回車,一行字符串' ; $c->format = "json"; $c->charset= "GBK"; $c->signType= "RSA2"; $c->alipayrsaPublicKey = '請填寫支付寶公鑰,一行字符串'; //實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.open.public.template.message.industry.modify $request = new AlipayOpenPublicTemplateMessageIndustryModifyRequest(); //SDK已經封裝掉了公共參數,這里只需要傳入業務參數 //此次只是參數展示,未進行字符串轉義,實際情況下請轉義 $request->setBizContent = "{" . " \"primary_industry_name\":\"IT科技/IT軟件與服務\"," . " \"primary_industry_code\":\"10001/20102\"," . " \"secondary_industry_code\":\"10001/20102\"," . " \"secondary_industry_name\":\"IT科技/IT軟件與服務\"" . " }"; $response= $c->execute($request); ~~~ ### 普通調用示例(證書) ~~~php $c = new AopCertClient; $appCertPath = "應用證書路徑(要確保證書文件可讀),例如:/home/admin/cert/appCertPublicKey.crt"; $alipayCertPath = "支付寶公鑰證書路徑(要確保證書文件可讀),例如:/home/admin/cert/alipayCertPublicKey_RSA2.crt"; $rootCertPath = "支付寶根證書路徑(要確保證書文件可讀),例如:/home/admin/cert/alipayRootCert.crt"; $c->gatewayUrl = "https://openapi.alipay.com/gateway.do"; $c->appId = "app_id"; $c->rsaPrivateKey = '請填寫開發者私鑰去頭去尾去回車,一行字符串' ; $c->format = "json"; $c->charset= "GBK"; $c->signType= "RSA2"; //調用getPublicKey從支付寶公鑰證書中提取公鑰 $c->alipayrsaPublicKey = $c->getPublicKey($alipayCertPath); //是否校驗自動下載的支付寶公鑰證書,如果開啟校驗要保證支付寶根證書在有效期內 $c->isCheckAlipayPublicCert = true; //調用getCertSN獲取證書序列號 $c->appCertSN = $c->getCertSN($appCertPath); //調用getRootCertSN獲取支付寶根證書序列號 $c->alipayRootCertSN = $c->getRootCertSN($rootCertPath); //實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.open.public.template.message.industry.modify $request = new AlipayOpenPublicTemplateMessageIndustryModifyRequest(); //SDK已經封裝掉了公共參數,這里只需要傳入業務參數 //此次只是參數展示,未進行字符串轉義,實際情況下請轉義 $request->setBizContent = "{" . " \"primary_industry_name\":\"IT科技/IT軟件與服務\"," . " \"primary_industry_code\":\"10001/20102\"," . " \"secondary_industry_code\":\"10001/20102\"," . " \"secondary_industry_name\":\"IT科技/IT軟件與服務\"" . " }"; $response= $c->execute($request); ~~~ ### 圖片上傳接口調用示例 ~~~php $c = new AopClient; $c->gatewayUrl = "https://openapi.alipay.com/gateway.do"; $c->appId = "app_id"; $c->rsaPrivateKey = '請填寫開發者私鑰去頭去尾去回車,一行字符串' ; $c->format = "json"; $c->charset = "GBK"; $c->signType= "RSA2"; $c->alipayrsaPublicKey = '請填寫支付寶公鑰,一行字符串'; //實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.offline.material.image.upload $request = new AlipayOfflineMaterialImageUploadRequest(); $request->setImageName("測試文件"); $request->setImageType("jpg"); //Windows請填寫絕對路徑,不支持相對路徑;Linux支持相對路徑 $request->setImageContent("@"."本地文件路徑"); $response = $c->execute($request); //獲取圖片地址 $response->getImageUrl(); ~~~ ### 圖片上傳接口調用示例(證書) ~~~php $c = new AopCertClient; $appCertPath = "應用證書路徑(要確保證書文件可讀),例如:/home/admin/cert/appCertPublicKey.crt"; $alipayCertPath = "支付寶公鑰證書路徑(要確保證書文件可讀),例如:/home/admin/cert/alipayCertPublicKey_RSA2.crt"; $rootCertPath = "支付寶根證書路徑(要確保證書文件可讀),例如:/home/admin/cert/alipayRootCert.crt"; $c->gatewayUrl = "https://openapi.alipay.com/gateway.do"; $c->appId = "app_id"; $c->rsaPrivateKey = '請填寫開發者私鑰去頭去尾去回車,一行字符串' ; $c->format = "json"; $c->charset = "GBK"; $c->signType= "RSA2"; //調用getPublicKey從支付寶公鑰證書中提取公鑰 $c->alipayrsaPublicKey = $c->getPublicKey($alipayCertPath); //是否校驗自動下載的支付寶公鑰證書,如果開啟校驗要保證支付寶根證書在有效期內 $c->isCheckAlipayPublicCert = true; //調用getCertSN獲取證書序列號 $c->appCertSN = $c->getCertSN($appCertPath); //調用getRootCertSN獲取支付寶根證書序列號 $c->alipayRootCertSN = $c->getRootCertSN($rootCertPath); //實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.offline.material.image.upload $request = new AlipayOfflineMaterialImageUploadRequest(); $request->setImageName("測試文件"); $request->setImageType("jpg"); //Windows請填寫絕對路徑,不支持相對路徑;Linux支持相對路徑 $request->setImageContent("@"."本地文件路徑"); $response = $c->execute($request); //獲取圖片地址 $response->getImageUrl(); ~~~ ### 用戶授權接口調用示例 ~~~php $c = new AopClient; $c->gatewayUrl = "https://openapi.alipay.com/gateway.do"; $c->appId = "app_id"; $c->rsaPrivateKey = '請填寫開發者私鑰去頭去尾去回車,一行字符串' ; $c->format = "json"; $c->charset = "GBK"; $c->signType= "RSA2"; $c->alipayrsaPublicKey = '請填寫支付寶公鑰,一行字符串'; //實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.user.userinfo.share $request= new AlipayUserUserinfoShareRequest(); //授權類接口執行API調用時需要帶上accessToken $response= $c->execute($request,"accessToken"); ~~~ ### 用戶授權接口調用示例(證書) ~~~php $c = new AopCertClient; $appCertPath = "應用證書路徑(要確保證書文件可讀),例如:/home/admin/cert/appCertPublicKey.crt"; $alipayCertPath = "支付寶公鑰證書路徑(要確保證書文件可讀),例如:/home/admin/cert/alipayCertPublicKey_RSA2.crt"; $rootCertPath = "支付寶根證書路徑(要確保證書文件可讀),例如:/home/admin/cert/alipayRootCert.crt"; $c->gatewayUrl = "https://openapi.alipay.com/gateway.do"; $c->appId = "app_id"; $c->rsaPrivateKey = '請填寫開發者私鑰去頭去尾去回車,一行字符串' ; $c->format = "json"; $c->charset = "GBK"; $c->signType= "RSA2"; //調用getPublicKey從支付寶公鑰證書中提取公鑰 $c->alipayrsaPublicKey = $c->getPublicKey($alipayCertPath); //是否校驗自動下載的支付寶公鑰證書,如果開啟校驗要保證支付寶根證書在有效期內 $c->isCheckAlipayPublicCert = true; //調用getCertSN獲取證書序列號 $c->appCertSN = $c->getCertSN($appCertPath); //調用getRootCertSN獲取支付寶根證書序列號 $c->alipayRootCertSN = $c->getRootCertSN($rootCertPath); //實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.user.userinfo.share $request= new AlipayUserUserinfoShareRequest(); //授權類接口執行API調用時需要帶上accessToken $response= $c->execute($request,"accessToken"); ~~~ ### 應用授權接口調用示例(ISV 代理商戶調用) ~~~php $c = new AopClient; $c->gatewayUrl = "https://openapi.alipay.com/gateway.do"; $c->appId = "app_id"; $c->rsaPrivateKey = '請填寫開發者私鑰去頭去尾去回車,一行字符串' ; $c->format = "json"; $c->charset = "GBK"; $c->signType= "RSA2"; $c->alipayrsaPublicKey = '請填寫支付寶公鑰,一行字符串'; ## 實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.open.public.template.message.industry.modify $request = new AlipayOpenPublicTemplateMessageIndustryModifyRequest(); //SDK已經封裝掉了公共參數,這里只需要傳入業務參數 //此次只是參數展示,未進行字符串轉義,實際情況下請轉義 $request->bizContent = "{" . " \"primary_industry_name\":\"IT科技/IT軟件與服務\"," . " \"primary_industry_code\":\"10001/20102\"," . " \"secondary_industry_code\":\"10001/20102\"," . " \"secondary_industry_name\":\"IT科技/IT軟件與服務\"" . " }"; //ISV代理商戶調用需要傳入app_auth_token $response= $c->execute($request,NULL,"app_auth_token"); ~~~ ### 應用授權接口調用示例(ISV 代理商戶調用)(證書) ~~~php $c = new AopCertClient; $appCertPath = "應用證書路徑(要確保證書文件可讀),例如:/home/admin/cert/appCertPublicKey.crt"; $alipayCertPath = "支付寶公鑰證書路徑(要確保證書文件可讀),例如:/home/admin/cert/alipayCertPublicKey_RSA2.crt"; $rootCertPath = "支付寶根證書路徑(要確保證書文件可讀),例如:/home/admin/cert/alipayRootCert.crt"; $c->gatewayUrl = "https://openapi.alipay.com/gateway.do"; $c->appId = "app_id"; $c->rsaPrivateKey = '請填寫開發者私鑰去頭去尾去回車,一行字符串' ; $c->format = "json"; $c->charset = "GBK"; $c->signType= "RSA2"; //調用getPublicKey從支付寶公鑰證書中提取公鑰 $c->alipayrsaPublicKey = $c->getPublicKey($alipayCertPath); //是否校驗自動下載的支付寶公鑰證書,如果開啟校驗要保證支付寶根證書在有效期內 $c->isCheckAlipayPublicCert = true; //調用getCertSN獲取證書序列號 $c->appCertSN = $c->getCertSN($appCertPath); //調用getRootCertSN獲取支付寶根證書序列號 $c->alipayRootCertSN = $c->getRootCertSN($rootCertPath); ## 實例化具體API對應的request類,類名稱和接口名稱對應,當前調用接口名稱:alipay.open.public.template.message.industry.modify $request = new AlipayOpenPublicTemplateMessageIndustryModifyRequest(); //SDK已經封裝掉了公共參數,這里只需要傳入業務參數 //此次只是參數展示,未進行字符串轉義,實際情況下請轉義 $request->bizContent = "{" . " \"primary_industry_name\":\"IT科技/IT軟件與服務\"," . " \"primary_industry_code\":\"10001/20102\"," . " \"secondary_industry_code\":\"10001/20102\"," . " \"secondary_industry_name\":\"IT科技/IT軟件與服務\"" . " }"; //ISV代理商戶調用需要傳入app_auth_token $response= $c->execute($request,NULL,"app_auth_token"); ~~~ ## Python SDK 集成示例 ### 普通調用示例 ~~~php #!/usr/bin/env python # -*- coding: utf-8 -*- import logging from alipay.aop.api.AlipayClientConfig import AlipayClientConfig from alipay.aop.api.DefaultAlipayClient import DefaultAlipayClient from alipay.aop.api.domain.AlipayTradeCreateModel import AlipayTradeCreateModel from alipay.aop.api.request.AlipayTradeCreateRequest import AlipayTradeCreateRequest from alipay.aop.api.response.AlipayTradeCreateResponse import AlipayTradeCreateResponse logging.basicConfig( level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s', filemode='a',) logger = logging.getLogger('') if __name__ == '__main__': # 實例化客戶端 alipay_client_config = AlipayClientConfig() alipay_client_config.server_url = 'https://openapi.alipaydev.com/gateway.do' alipay_client_config.app_id = '請填寫appi_id' alipay_client_config.app_private_key = '請填寫開發者私鑰去頭去尾去回車,單行字符串' alipay_client_config.alipay_public_key = '請填寫支付寶公鑰,單行字符串' client = DefaultAlipayClient(alipay_client_config, logger) # 構造請求參數對象 model = AlipayTradeCreateModel() model.out_trade_no = "20150320010101001"; model.total_amount = "88.88"; model.subject = "Iphone6 16G"; model.buyer_id = "2088102177846880"; request = AlipayTradeCreateRequest(biz_model=model) # 執行API調用 try: response_content = client.execute(request) except Exception as e: print(traceback.format_exc()) if not response_content: print("failed execute") else: # 解析響應結果 response = AlipayTradeCreateResponse() response.parse_response_content(response_content) # 響應成功的業務處理 if response.is_success(): # 如果業務成功,可以通過response屬性獲取需要的值 print("get response trade_no:" + response.trade_no) # 響應失敗的業務處理 else: # 如果業務失敗,可以從錯誤碼中可以得知錯誤情況,具體錯誤碼信息可以查看接口文檔 print(response.code + "," + response.msg + "," + response.sub_code + "," + response.sub_msg) ~~~ ### 圖片上傳接口調用示例 ~~~php #!/usr/bin/env python # -*- coding: utf-8 -*- import logging from alipay.aop.api.AlipayClientConfig import AlipayClientConfig from alipay.aop.api.DefaultAlipayClient import DefaultAlipayClient from alipay.aop.api.FileItem import FileItem from alipay.aop.api.request.AlipayOfflineMaterialImageUploadRequest import AlipayOfflineMaterialImageUploadRequest from alipay.aop.api.response.AlipayOfflineMaterialImageUploadResponse import AlipayOfflineMaterialImageUploadResponse logging.basicConfig( level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s', filemode='a',) logger = logging.getLogger('') if __name__ == '__main__': # 實例化客戶端 alipay_client_config = AlipayClientConfig() alipay_client_config.server_url = 'https://openapi.alipaydev.com/gateway.do' alipay_client_config.app_id = '請填寫appi_id' alipay_client_config.app_private_key = '請填寫開發者私鑰去頭去尾去回車,單行字符串' alipay_client_config.alipay_public_key = '請填寫支付寶公鑰,單行字符串' client = DefaultAlipayClient(alipay_client_config, logger) # 構造請求參數對象 request = AlipayOfflineMaterialImageUploadRequest() request.image_name = "我的店" request.image_type = "jpg" file = open("/Users/foo/Downloads/test.jpg", "rb") request.image_content = FileItem(file_name="test.jpg", file_content=file.read()) file.close() # 執行API調用 try: response_content = client.execute(request) except Exception as e: print(traceback.format_exc()) if not response_content: print("failed execute") else: # 解析響應結果 response = AlipayOfflineMaterialImageUploadResponse() response.parse_response_content(response_content) # 響應成功的業務處理 if response.is_success(): # 如果業務成功,可以通過response屬性獲取需要的值 print("get response image_url:" + response.image_url) # 響應失敗的業務處理 else: # 如果業務失敗,可以從錯誤碼中可以得知錯誤情況,具體錯誤碼信息可以查看接口文檔 print(response.code + "," + response.msg + "," + response.sub_code + "," + response.sub_msg) ~~~ ### 用戶授權接口調用示例 ~~~php #!/usr/bin/env python # -*- coding: utf-8 -*- import logging from alipay.aop.api.AlipayClientConfig import AlipayClientConfig from alipay.aop.api.DefaultAlipayClient import DefaultAlipayClient from alipay.aop.api.constant.ParamConstants import * from alipay.aop.api.domain.AlipayEbppInvoiceTitleListGetModel import AlipayEbppInvoiceTitleListGetModel from alipay.aop.api.request.AlipayEbppInvoiceTitleListGetRequest import AlipayEbppInvoiceTitleListGetRequest from alipay.aop.api.response.AlipayEbppInvoiceTitleListGetResponse import AlipayEbppInvoiceTitleListGetResponse logging.basicConfig( level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s', filemode='a',) logger = logging.getLogger('') if __name__ == '__main__': # 實例化客戶端 alipay_client_config = AlipayClientConfig() alipay_client_config.server_url = 'https://openapi.alipaydev.com/gateway.do' alipay_client_config.app_id = '請填寫appi_id' alipay_client_config.app_private_key = '請填寫開發者私鑰去頭去尾去回車,單行字符串' alipay_client_config.alipay_public_key = '請填寫支付寶公鑰,單行字符串' client = DefaultAlipayClient(alipay_client_config, logger) # 構造請求參數對象 model = AlipayEbppInvoiceTitleListGetModel() model.user_id = "2088102177492087" request = AlipayEbppInvoiceTitleListGetRequest(biz_model=model) # 添加auth_token udf_params = dict() udf_params[P_AUTH_TOKEN] = "auth_token,使用時替換成正確的token" request.udf_params = udf_params # 執行API調用 try: response_content = client.execute(request) except Exception as e: print(traceback.format_exc()) if not response_content: print("failed execute") else: # 解析響應結果 response = AlipayEbppInvoiceTitleListGetResponse() response.parse_response_content(response_content) # 響應成功的業務處理 if response.is_success(): # 如果業務成功,可以通過response屬性獲取需要的值 print("get response trade_no:" + response.trade_no) # 響應失敗的業務處理 else: # 如果業務失敗,可以從錯誤碼中可以得知錯誤情況,具體錯誤碼信息可以查看接口文檔 print(response.code + "," + response.msg + "," + response.sub_code + "," + response.sub_msg) ~~~ ### 應用授權接口調用示例(ISV 代理商戶調用) ~~~php #!/usr/bin/env python # -*- coding: utf-8 -*- import logging from alipay.aop.api.AlipayClientConfig import AlipayClientConfig from alipay.aop.api.DefaultAlipayClient import DefaultAlipayClient from alipay.aop.api.constant.ParamConstants import * from alipay.aop.api.domain.AlipayTradeCreateModel import AlipayTradeCreateModel from alipay.aop.api.request.AlipayTradeCreateRequest import AlipayTradeCreateRequest from alipay.aop.api.response.AlipayTradeCreateResponse import AlipayTradeCreateResponse logging.basicConfig( level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s', filemode='a',) logger = logging.getLogger('') if __name__ == '__main__': # 實例化客戶端 alipay_client_config = AlipayClientConfig() alipay_client_config.server_url = 'https://openapi.alipaydev.com/gateway.do' alipay_client_config.app_id = '請填寫appi_id' alipay_client_config.app_private_key = '請填寫開發者私鑰去頭去尾去回車,單行字符串' alipay_client_config.alipay_public_key = '請填寫支付寶公鑰,單行字符串' client = DefaultAlipayClient(alipay_client_config, logger) # 構造請求參數對象 model = AlipayTradeCreateModel() model.out_trade_no = "20150320010101001"; model.total_amount = "88.88"; model.subject = "Iphone6 16G"; model.buyer_id = "2088102177846880"; request = AlipayTradeCreateRequest(biz_model=model) # 添加app_auth_token udf_params = dict() udf_params[P_APP_AUTH_TOKEN] = "app_auth_token,使用時替換成正確的token" request.udf_params = udf_params # 執行API調用 try: response_content = client.execute(request) except Exception as e: print(traceback.format_exc()) if not response_content: print("failed execute") else: # 解析響應結果 response = AlipayTradeCreateResponse() response.parse_response_content(response_content) # 響應成功的業務處理 if response.is_success(): # 如果業務成功,可以通過response屬性獲取需要的值 print("get response trade_no:" + response.trade_no) # 響應失敗的業務處理 else: # 如果業務失敗,可以從錯誤碼中可以得知錯誤情況,具體錯誤碼信息可以查看接口文檔 print(response.code + "," + response.msg + "," + response.sub_code + "," + response.sub_msg) ~~~ ## 簽名方法 ### 加簽方法(如果不用 SDK 調用,推薦用該方法加簽) ~~~java /** @param content 待簽名字符串 @param privateKey 加簽私鑰 @param charset 加簽字符集 @param signType 簽名方式 **/ String AlipaySignature.rsaSign(String content, String privateKey, String charset, String signType); ~~~ ### 驗簽方法(例如異步通知的時候,用戶需要用到驗簽方法) 驗簽方法,根據接口不同,驗簽時會去掉 sign\_type(rsaCheckV1) 或者保留 sign\_type(rsaCheckV2)。 ~~~java /** 此方法會去掉sign_type做驗簽,暫時除生活號(原服務窗)激活開發者模式外都使用V1。 @param params 參數列表(包括待驗簽參數和簽名值sign) key-參數名稱 value-參數值 @param publicKey 驗簽支付寶公鑰 @param charset 驗簽字符集 @param sign_type 驗簽方式(RSA或RSA2) **/ boolean AlipaySignature.rsaCheckV1(Map<String, String> params, String publicKey, String charset, String sign_type) /** 此方法不會去掉sign_type驗簽,用于生活號(原服務窗)激活開發者模式 @param params 參數列表(包括待驗簽參數和簽名值sign) key-參數名稱 value-參數值 @param publicKey 驗簽支付寶公鑰 @param charset 驗簽字符集 @param sign_type 驗簽方式(RSA或RSA2) **/ boolean AlipaySignature.rsaCheckV2(Map<String, String> params, String publicKey, String charset, String sign_type) /** 此方法會去掉sign_type做驗簽,暫時除生活號(原服務窗)激活開發者模式外都使用V1。 @param params 參數列表(包括待驗簽參數和簽名值sign) key-參數名稱 value-參數值 @param publicKeyCertPath 驗簽支付寶公鑰證書文件路徑 @param charset 驗簽字符集 @param sign_type 驗簽方式(RSA或RSA2) **/ boolean AlipaySignature.rsaCertCheckV1(Map<String, String> params, String publicKeyCertPath, String charset,String signType) /** 此方法不會去掉sign_type驗簽,用于生活號(原服務窗)激活開發者模式 @param params 參數列表(包括待驗簽參數和簽名值sign) key-參數名稱 value-參數值 @param publicKeyCertPath 驗簽支付寶公鑰證書文件路徑 @param charset 驗簽字符集 @param sign_type 驗簽方式(RSA或RSA2) **/ boolean AlipaySignature.rsaCertCheckV2(Map<String, String> params, String alipayPublicCertPath, String charset,String signType) ~~~ **注意事項** * AlipayClient 的實現類都是線程安全的,所以沒有必要每次 API 請求都新建一個 AlipayClient 實現類; * 創建 AlipayClient 實現類的實例時,指定 format=json,相比 xml 格式,可以減少數據傳輸量,提升 API 請求效率。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看