REST 方法

FUNCTION ZFM_INTERFACE_LOG.
*"----------------------------------------------------------------------
*"*"本地接口:
*" ?IMPORTING
*" ? ? REFERENCE(IV_DSTART) TYPE ?EDI_UPDDAT
*"----------------------------------------------------------------------

? TYPES: TY_TIME_COND TYPE RANGE OF TIMESTAMP.
? DATA: S_TS TYPE TY_TIME_COND.
* ?DATA: S_TS TYPE RANGE OF TIMESTAMP.


? DATA START_TIMESTAMP TYPE TZONREF-TSTAMPS.
? DATA END_TIMESTAMP ?TYPE TZONREF-TSTAMPS.

? CALL FUNCTION 'CIF_GEN4_CONVERT_DATETIME'
? ? EXPORTING
? ? ? IV_DATE ? ? ?= IV_DSTART
? ? ? IV_TIME ? ? ?= '000000'
? ? ? IV_TIMEZONE ?= SY-ZONLO
? ? IMPORTING
? ? ? EV_TIMESTAMP = START_TIMESTAMP.

? CALL FUNCTION 'CIF_GEN4_CONVERT_DATETIME'
? ? EXPORTING
? ? ? IV_DATE ? ? ?= IV_DSTART
? ? ? IV_TIME ? ? ?= '235959'
? ? ? IV_TIMEZONE ?= SY-ZONLO
? ? IMPORTING
? ? ? EV_TIMESTAMP = END_TIMESTAMP.


? S_TS = VALUE #( SIGN = 'I' OPTION = 'BT' ( LOW ?= START_TIMESTAMP HIGH = END_TIMESTAMP ) ).


? DATA :BEGIN OF GS_ITEM,
? ? ? ? ? GUID ? ? ? ?TYPE ZAFL_LOG-GUID,
? ? ? ? ? FNAME ? ? ? TYPE ZAFL_LOG-FNAME,
? ? ? ? ? CUST_FIELD1 TYPE ZAFL_LOG-CUST_FIELD1,
? ? ? ? ? CUST_FIELD2 TYPE ZAFL_LOG-CUST_FIELD2,
? ? ? ? ? CUST_FIELD3 TYPE ZAFL_LOG-CUST_FIELD3,
? ? ? ? ? STATUS ? ? ?TYPE ZAFL_LOG-STATUS,
? ? ? ? ? TIMESTAMP ? TYPE ZAFL_LOG-TIMESTAMP,
? ? ? ? ? TIME_COST ? TYPE ZAFL_LOG-TIME_COST,
? ? ? ? ? UNAME ? ? ? TYPE ZAFL_LOG-UNAME,
? ? ? ? ? MESSAGE ? ? TYPE ZAFL_LOG-MESSAGE,
? ? ? ? ? IMPORT ? ? ?TYPE ZAFL_LOG-IMPORT,
? ? ? ? ? EXPORT ? ? ?TYPE ZAFL_LOG-EXPORT,
? ? ? ? ? TABLE_IN ? ?TYPE ZAFL_LOG-TABLE_IN,
? ? ? ? ? TABLE_OUT ? TYPE ZAFL_LOG-TABLE_OUT,
? ? ? ? ? CHANGE_IN ? TYPE ZAFL_LOG-CHANGE_IN,
? ? ? ? ? CHANGE_OUT ?TYPE ZAFL_LOG-CHANGE_OUT,
? ? ? ? ? UDATE ? ? ? TYPE ZTSD001M-UDATE,
? ? ? ? ? UTIME ? ? ? TYPE ZTSD001M-UTIME,
? ? ? ? END OF GS_ITEM,
? ? ? ? GT_ITEM LIKE TABLE OF GS_ITEM.

? DATA: BEGIN OF GS_HEAD,
? ? ? ? ? apiName(20),
? ? ? ? END OF GS_HEAD.

? DATA: BEGIN OF GS_BODY,
? ? ? ? ? DATA LIKE TABLE OF GS_ITEM,
? ? ? ? END OF GS_BODY.

? DATA: BEGIN OF GS_SEND,
? ? ? ? ? HEAD LIKE GS_HEAD,
? ? ? ? ? BODY LIKE GS_BODY,
? ? ? ? END OF GS_SEND.

? TYPES: BEGIN OF T_RESP,
? ? ? ? ? ?ERR_CODE ?TYPE STRING,
? ? ? ? ? ?ERR_MSG ? TYPE STRING,
? ? ? ? ? ?TRACE_MSG TYPE STRING,
? ? ? ? ?END OF T_RESP.

? GS_SEND-HEAD-APINAME = 'SD100'.

? DATA:GS_RESP TYPE T_RESP.


? SELECT * FROM ZAFL_LOG WHERE TIMESTAMP ? IN @S_TS INTO CORRESPONDING FIELDS OF TABLE @GT_ITEM.

? APPEND INITIAL LINE TO GT_ITEM.
? GS_SEND-BODY-DATA = GT_ITEM.

* ?IF GT_ITEM IS NOT INITIAL.

? DATA:LT_FIELDS ? TYPE TIHTTPNVP,
? ? ? ?LS_FIELDS ? TYPE IHTTPNVP,
? ? ? ?LS_URL ? ? ?TYPE ZTSEND_URL,
? ? ? ?LV_TYPE ? ? TYPE BAPI_MTYPE,
? ? ? ?LV_SEND ? ? TYPE STRING,
? ? ? ?LV_MESSAGE ?TYPE STRING,
? ? ? ?LV_RESPONSE TYPE STRING.

? DATA:BEGIN OF LS_NAME_MAPPING,
? ? ? ? ?ABAP TYPE ABAP_COMPNAME,
? ? ? ? ?JSON TYPE STRING,
? ? ? ?END OF LS_NAME_MAPPING,
? ? ? ?LT_MAPPINGS LIKE HASHED TABLE OF LS_NAME_MAPPING WITH UNIQUE KEY ABAP.

? LT_MAPPINGS = VALUE #(
? ? ? ? ? ? ? ? ?( ABAP = 'GUID' ? ? ? ? ? ? JSON = 'guid' ? ? ? ? )
? ? ? ? ? ? ? ? ?( ABAP = 'FNAME' ? ? ? ? ? ?JSON = 'fname' ? ? ? ?)
? ? ? ? ? ? ? ? ?( ABAP = 'CUST_FIELD1' ? ? ?JSON = 'cust_field1' ?)
? ? ? ? ? ? ? ? ?( ABAP = 'CUST_FIELD2' ? ? ?JSON = 'cust_field2' ?)
? ? ? ? ? ? ? ? ?( ABAP = 'CUST_FIELD3' ? ? ?JSON = 'cust_field3' ?)
? ? ? ? ? ? ? ? ?( ABAP = 'STATUS' ? ? ? ? ? JSON = 'status' ? ? ? )
? ? ? ? ? ? ? ? ?( ABAP = 'TIMESTAMP' ? ? ? ?JSON = 'timestamp' ? ?)
? ? ? ? ? ? ? ? ?( ABAP = 'TIME_COST' ? ? ? ?JSON = 'time_cost' ? ?)
? ? ? ? ? ? ? ? ?( ABAP = 'UNAME' ? ? ? ? ? ?JSON = 'uname' ? ? ? ?)
? ? ? ? ? ? ? ? ?( ABAP = 'MESSAGE' ? ? ? ? ?JSON = 'message' ? ? ?)
? ? ? ? ? ? ? ? ?( ABAP = 'IMPORT' ? ? ? ? ? JSON = 'import' ? ? ? )
? ? ? ? ? ? ? ? ?( ABAP = 'EXPORT' ? ? ? ? ? JSON = 'export' ? ? ? )
? ? ? ? ? ? ? ? ?( ABAP = 'TABLE_IN' ? ? ? ? JSON = 'table_in' ? ? )
? ? ? ? ? ? ? ? ?( ABAP = 'TABLE_OUT' ? ? ? ?JSON = 'table_out' ? ?)
? ? ? ? ? ? ? ? ?( ABAP = 'CHANGE_IN' ? ? ? ?JSON = 'change_in' ? ?)
? ? ? ? ? ? ? ? ?( ABAP = 'CHANGE_OUT' ? ? ? JSON = 'change_out' ? )
? ? ? ? ? ? ? ? ).

? /UI2/CL_JSON=>SERIALIZE( EXPORTING DATA = GS_SEND ? PRETTY_NAME = '' NAME_MAPPINGS = LT_MAPPINGS ? RECEIVING ?R_JSON = LV_SEND ).

? SELECT SINGLE * INTO @LS_URL ? ? ? ? ? ?FROM ZTSEND_URL WHERE POSOBJ = 'ZSD_100'.
? SELECT SINGLE * INTO @DATA(LS_TOKEN) ? ?FROM ZTSC_TOKEN WHERE POSOBJ = 'SC1'.
*
? LS_FIELDS-NAME = 'Content-Type'.
? LS_FIELDS-VALUE = 'application/json'.
? APPEND LS_FIELDS TO LT_FIELDS.
? CLEAR:LS_FIELDS.

? LS_FIELDS-NAME = 'accesstoken'.
? LS_FIELDS-VALUE = LS_TOKEN-TOKEN.
? APPEND LS_FIELDS TO LT_FIELDS.
? CLEAR:LS_FIELDS.
*
*
? CALL FUNCTION 'ZFM_RESTFUL_SEND'
? ? EXPORTING
? ? ? IV_URL ? ? ? ? ? = LS_URL-URL
? ? ? IV_METHOD ? ? ? ?= 'POST'
? ? ? IT_FIELDS ? ? ? ?= LT_FIELDS
? ? ? IV_SEND_DATA ? ? = LV_SEND
? ? IMPORTING
? ? ? EV_TYPE ? ? ? ? ?= LV_TYPE
? ? ? EV_MESSAGE ? ? ? = LV_MESSAGE
? ? ? EV_RESPONSE_DATA = LV_RESPONSE.

? /UI2/CL_JSON=>DESERIALIZE( EXPORTING JSON = LV_RESPONSE PRETTY_NAME = 'X' CHANGING DATA = GS_RESP ).

* ? ?MESSAGE LV_MESSAGE TYPE LV_TYPE.

* ?ENDIF.

* ?ENDIF.


ENDFUNCTION.

=====================================

FUNCTION zfm_restful_send.
*"----------------------------------------------------------------------
*"*"本地接口:
*" ?IMPORTING
*" ? ? VALUE(IV_URL) TYPE ?ZE_URL OPTIONAL
*" ? ? VALUE(IV_METHOD) TYPE ?STRING DEFAULT 'POST'
*" ? ? VALUE(IV_USERNAME) TYPE ?STRING OPTIONAL
*" ? ? VALUE(IV_PASSWORD) TYPE ?STRING OPTIONAL
*" ? ? VALUE(IT_FIELDS) TYPE ?TIHTTPNVP OPTIONAL
*" ? ? VALUE(IV_SEND_DATA) TYPE ?STRING OPTIONAL
*" ? ? VALUE(IV_PROXY_B) TYPE ?CHAR1 OPTIONAL
*" ? ? VALUE(IV_URL2) TYPE ?STRING OPTIONAL
*" ?EXPORTING
*" ? ? VALUE(EV_TYPE) TYPE ?BAPI_MTYPE
*" ? ? VALUE(EV_MESSAGE) TYPE ?STRING
*" ? ? VALUE(EV_RESPONSE_DATA) TYPE ?STRING
*"----------------------------------------------------------------------
? TYPES: BEGIN OF ty_response,
? ? ? ? ? ?code ? ?TYPE char1,
? ? ? ? ? ?message TYPE string,
? ? ? ? ?END OF ty_response.
? DATA: ls_response TYPE ty_response.
? DATA:lv_url TYPE string.
? DATA:lo_http_client TYPE REF TO if_http_client,
? ? ? ?lv_code ? ? ? ?TYPE i.
? DATA:lv_proxy_host TYPE string.
? DATA:lv_proxy_service TYPE string.
? DATA: lv_ssl_id TYPE ssfapplssl .
? IF iv_proxy_b IS NOT INITIAL.
? ? lv_proxy_host = 'proxy'.
? ? lv_proxy_service = '3128'.
? ENDIF.

? IF iv_url IS NOT INITIAL.
? ? lv_url = iv_url.
? ELSE.
? ? lv_url = iv_url2.
? ENDIF.


*創建客戶端請求
? CALL METHOD cl_http_client=>create_by_url
? ? EXPORTING
? ? ? url ? ? ? ? ? ? ? ? ? ? ? ?= lv_url
? ? ? proxy_host ? ? ? ? ? ? ? ? = lv_proxy_host
? ? ? proxy_service ? ? ? ? ? ? ?= lv_proxy_service
? ? ? ssl_id ? ? ? ? ? ? ? ? ? ? = lv_ssl_id
? ? IMPORTING
? ? ? client ? ? ? ? ? ? ? ? ? ? = lo_http_client
? ? EXCEPTIONS
? ? ? argument_not_found ? ? ? ? = 1
? ? ? plugin_not_active ? ? ? ? ?= 2
? ? ? internal_error ? ? ? ? ? ? = 3
? ? ? pse_not_found ? ? ? ? ? ? ?= 4
? ? ? pse_not_distrib ? ? ? ? ? ?= 5
? ? ? pse_errors ? ? ? ? ? ? ? ? = 6
? ? ? oa2c_set_token_error ? ? ? = 7
? ? ? oa2c_missing_authorization = 8
? ? ? oa2c_invalid_config ? ? ? ?= 9
? ? ? oa2c_invalid_parameters ? ?= 10
? ? ? oa2c_invalid_scope ? ? ? ? = 11
? ? ? oa2c_invalid_grant ? ? ? ? = 12
? ? ? OTHERS ? ? ? ? ? ? ? ? ? ? = 13.

? IF sy-subrc <> 0.
? ? ev_type = 'E'.
? ? lo_http_client->get_last_error( IMPORTING message = ev_message ).
? ? ev_message = '創建代理失敗!' && ev_message.
? ? RETURN.
? ENDIF.

*不顯示登錄界面
? lo_http_client->propertytype_logon_popup = lo_http_client->co_disabled.

*設置賬號+密碼
? IF iv_username IS NOT INITIAL AND iv_password IS NOT INITIAL.
? ? lo_http_client->authenticate( EXPORTING username = iv_username password = iv_password ).
? ENDIF.

*設定調用服務
? lo_http_client->request->set_method( EXPORTING method = iv_method ).

*設置Headers
? lo_http_client->request->set_header_fields( EXPORTING fields = it_fields[] ).


*設置報文數據
? IF iv_send_data IS NOT INITIAL.
? ? CALL METHOD lo_http_client->request->set_cdata
? ? ? EXPORTING
? ? ? ? data ? = iv_send_data
? ? ? ? offset = 0
? ? ? ? length = strlen( iv_send_data ).
? ENDIF.

*發送請求
? CALL METHOD lo_http_client->send
? ? EXCEPTIONS
? ? ? http_communication_failure = 1
? ? ? http_invalid_state ? ? ? ? = 2.
? IF sy-subrc <> 0.
? ? ev_type = 'E'.
? ? lo_http_client->get_last_error( IMPORTING message = ev_message ).
? ? ev_message = '發送請求失敗!' && ev_message.
? ? RETURN.
? ENDIF.

*讀取遠程服務返回的處理過結果
? CALL METHOD lo_http_client->receive
? ? EXCEPTIONS
? ? ? http_communication_failure = 1
? ? ? http_invalid_state ? ? ? ? = 2
? ? ? http_processing_failed ? ? = 3.

? IF sy-subrc <> 0 .
? ? ev_type = 'E'.
? ? lo_http_client->get_last_error( IMPORTING message = ev_message ).
? ? ev_message = '獲取返回消息失敗!' && ev_message.
? ? RETURN.
? ELSE.
? ? CALL METHOD lo_http_client->response->get_status
? ? ? IMPORTING
? ? ? ? code ? = lv_code
? ? ? ? reason = ev_message.

? ? IF lv_code BETWEEN '200' AND '299'.
? ? ? ev_type = 'S'.
? ? ? ev_message = '調用接口成功!'.
? ? ELSE.
? ? ? ev_type = 'E'.
? ? ? ev_message = '返回碼提示失敗!' && ev_message.
? ? ENDIF.

*讀取返回內容

? ? ev_response_data = lo_http_client->response->get_cdata( ).
? ? IF ev_response_data IS NOT INITIAL.
? ? ? REPLACE ALL OCCURRENCES OF '#' IN ev_response_data WITH space.
? ? ? CONDENSE ev_response_data NO-GAPS.
? ? ? ev_message = ev_message && ';' && ev_response_data.
? ? ENDIF.
? ENDIF.

? lo_http_client->close( ).

ENDFUNCTION.

==================================

數例:
110ZFI_003SAP成本中心推送星瀚主數據平臺http://172.16.17.220/ierp/kapi/v2/wwv2/base/bos_adminorg/bd_adminorg_save
110ZFI_028成本中心推送主數據接口http://172.16.17.220/ierp/kapi/v2/wwv2/basedata/wwv2_bd_fi_profitcenter/bd_fi_profitcenter_save
110ZFI_028A公司代碼映射http://172.16.17.220/ierp/kapi/v2/wwv2/basedata/wwv2_bd_company/bd_hr_company_query

ZTSC_TOKEN獲取接口TOKEN存儲表
MANDTMANDTCLNT300客戶端?
POSOBJZE_OBJECTCHAR5000對象值?
TOKENSTRING000token
110SC2084196387246833664_74CFovIbX7QVBES18nXXsXfIBBNt3K8yz8ZDwmReL7lRaVxcNdNT4ORJ50nt15aEQB17kOSUQFXWAjK4y17bBqPTuqHgwRlENFzd00
110SC12084196387246833664_ORuUKnPuM5Rt2Q54or0SvsN7YGueIWxvPOA8vUl8ykoRY4awNYJtCwuQh2dGXbhWls2qt8oza8H84IR4mW2PNGJQDRTXYl9KhKyr00

ZTSEND_URLSAP推送數據接口地址維護表
MANDTMANDTCLNT3
POSOBJZE_OBJECTCHAR50
OBJECT_TZE_OBJECT_TCHAR50
URLZE_URLCHAR257
USERNAMEUSRTXCHAR40
PASSWORDCTE_PASSWORDCHAR

60

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/76619.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/76619.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/76619.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

QT 中的元對象系統(五):QMetaObject::invokeMethod的使用和實現原理

目錄 1.簡介 2.原理概述 3.實現分析 3.1.通過方法名調用方法的實現分析 3.2.通過可調用對象調用方法的實現分析 4.使用場景 5.總結 1.簡介 QMetaObject::invokeMethod 是 Qt 框架中的一個靜態方法&#xff0c;用于在運行時調用對象的成員函數。這個方法提供了一種動態調…

Unity3D開發AI桌面精靈/寵物系列 【三】 語音識別 ASR 技術、語音轉文本多平臺 - 支持科大訊飛、百度等 C# 開發

Unity3D 交互式AI桌面寵物開發系列【三】ASR 語音識別 該系列主要介紹怎么制作AI桌面寵物的流程&#xff0c;我會從項目開始創建初期到最終可以和AI寵物進行交互為止&#xff0c;項目已經開發完成&#xff0c;我會仔細梳理一下流程&#xff0c;分步講解。 這篇文章主要講有關于…

Java 狀態模式 詳解

狀態模式詳解 一、狀態模式概述 狀態模式(State Pattern)是一種行為型設計模式&#xff0c;它允許一個對象在其內部狀態改變時改變它的行為&#xff0c;使對象看起來似乎修改了它的類。 核心特點 狀態封裝&#xff1a;將每個狀態的行為封裝到獨立的類中狀態轉換&#xff1a…

Nginx 配置 HTTPS 與 WSS 完整指南

Nginx 配置 HTTPS 與 WSS 完整指南 本教程將手把手教你如何為網站配置 HTTPS 加密訪問&#xff0c;并通過反向代理實現安全的 WebSocket&#xff08;WSS&#xff09;通信。以 https://www.zhegepai.cn 域名為例&#xff0c;完整流程約需 30 分鐘完成。 一、前置準備 1.1 域名…

雙向鏈表的理解

背景 代碼中經常會出現雙向鏈表&#xff0c;對于雙向鏈表的插入和刪除有對應的API函數接口&#xff0c;但直觀的圖表更容易理解&#xff0c;所以本文會對rt-thread內核代碼中提供的雙向鏈表的一些API函數操作進行繪圖&#xff0c;方便后續隨時查看。 代碼塊 rt-thread中提供…

大文件上傳源碼,支持單個大文件與多個大文件

大文件上傳源碼&#xff0c;支持單個大文件與多個大文件 Ⅰ 思路Ⅱ 具體代碼前端--單個大文件前端--多個大文件前端接口后端 Ⅰ 思路 具體思路請參考我之前的文章&#xff0c;這里分享的是上傳流程與源碼 https://blog.csdn.net/sugerfle/article/details/130829022 Ⅱ 具體代碼…

Unity中的靜態合批使用整理

靜態批處理是一種繪制調用批處理方法&#xff0c;它組合不移動的網格以減少繪制調用。它將組合的網格轉換為世界空間&#xff0c;并為它們構建一個共享頂點和索引緩沖區。然后&#xff0c;對于可見網格&#xff0c;Unity 會執行一系列簡單的繪制調用&#xff0c;每個調用之間幾…

【機器學習中的基本術語:特征、樣本、訓練集、測試集、監督/無監督學習】

機器學習基本術語詳解 1. 特征&#xff08;Feature&#xff09; 定義&#xff1a;數據的屬性或變量&#xff0c;用于描述樣本的某個方面。作用&#xff1a;模型通過學習特征與目標之間的關系進行預測。示例&#xff1a; 預測房價時&#xff0c;特征可以是 面積、地段、房齡。…

C++學習之路:指針基礎

目錄 指針介紹與基本用法雙重指針函數指針空指針與野指針函數參數的指針傳遞最后 指針一般在C/C語言學習的后期接觸&#xff0c;這樣就導致指針給新手一種高深莫測、難以掌握的刻板印象。但實際上指針的使用很簡單&#xff0c;并且還能夠極大的提高程序的靈活性&#xff0c;幫助…

【服務日志鏈路追蹤】

MDCInheritableThreadLocal和spring cloud sleuth 在微服務架構中&#xff0c;日志鏈路追蹤&#xff08;Logback Distributed Tracing&#xff09; 是一個關鍵需求&#xff0c;主要用于跟蹤請求在不同服務間的調用鏈路&#xff0c;便于排查問題。常見的實現方案有兩種&#x…

Kafka+Zookeeper從docker部署到spring boot使用完整教程

文章目錄 一、Kafka1.Kafka核心介紹&#xff1a;?核心架構?核心特性?典型應用 2.Kafka對 ZooKeeper 的依賴&#xff1a;3.去 ZooKeeper 的演進之路&#xff1a;注&#xff1a;&#xff08;本文采用ZooKeeper3.8 Kafka2.8.1&#xff09; 二、Zookeeper1.核心架構與特性2.典型…

JUC系列JMM學習之隨筆

JUC: JUC 是 Java 并發編程的核心工具包,全稱為 Java Util Concurrent,是 java.util.concurrent 包及其子包的簡稱。它提供了一套強大且高效的并發編程工具,用于簡化多線程開發并提高性能。 CPU核心數和線程數的關系:1核處理1線程(同一時間單次) CPU內核結構: 工作內…

The Rust Programming Language 學習 (九)

泛型 每一個編程語言都有高效處理重復概念的工具。在 Rust 中其工具之一就是 泛型&#xff08;generics&#xff09;。泛型是具體類型或其他屬性的抽象替代。我們可以表達泛型的屬性&#xff0c;比如他們的行為或如何與其他泛型相關聯&#xff0c;而不需要在編寫和編譯代碼時知…

藍橋杯 混乘數字

問題描述 混乘數字的定義如下&#xff1a; 對于一個正整數 n&#xff0c;如果存在正整數 a 和 b&#xff0c;使得&#xff1a; n a b且 a 與 b 的十進制數位中每個數字出現的次數之和&#xff0c;與 n 中對應數字出現的次數相同&#xff0c;則稱 n 為混乘數字。 示例 對于…

CExercise04_1位運算符_2 定義一個函數判斷給定的正整數是否為2的冪

題目&#xff1a; 給定一個正整數&#xff0c;請定義一個函數判斷它是否為2的冪(1, 2, 4, 8, 16, …) 分析&#xff1a; &#xff1a; 代碼 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdbool.h>/* 給定一個正整數&#xff0c;請定義一個函數…

SSL證書不可信的原因有哪些?(國科云)

SSL證書用于在客戶端和服務器端之間建立一條加密通道&#xff0c;確保數據在傳輸過程中的安全性和完整性。然而&#xff0c;在實際應用中&#xff0c;我們有時會遇到SSL證書不可信的情況&#xff0c;嚴重影響了用戶對網站的信任度。那么&#xff0c;SSL證書不可信的原因究竟有哪…

[王陽明代數講義]琴語言類型系統工程特性

琴語言類型系統工程特性 層展物理學組織實務與藝術與琴生生.物機.械科.技工.業研究.所軟凝聚態物理開發工具包社會科學氣質砥礪學人生意氣場社群成員魅力場與心氣微積分社會關系力學 意氣實體過程圖論信息編碼&#xff0c;如來碼導引 注意力機制道裝Transformer架構的發展標度律…

自抗擾ADRC之二階線性擴展狀態觀測器(LESO)推導

1.龍伯格觀測器 實際工程應用中&#xff0c;狀態變量有時難以使用傳感器直接測量&#xff0c;在這種情況下&#xff0c;使用狀態觀測器估計系統實際狀態是非常常見的做法。最出名的狀態觀測器當屬龍伯格博士在1971年發表于TAC的An Introduction to Observer[1]一文中提出的基于…

從頭開發一個Flutter插件(二)高德地圖定位插件

開發基于高德定位SDK的Flutter插件 在上一篇文章里具體介紹了Flutter插件的具體開發流程&#xff0c;從創建項目到發布。接下來將為Flutter天氣項目開發一個基于高德定位SDK的Flutter定位插件。 申請key 首先進入高德地圖定位SDK文檔內下載定位SDK&#xff0c;并按要求申請A…

分布式鎖之redis6

一、分布式鎖介紹 之前我們都是使用本地鎖&#xff08;synchronize、lock等&#xff09;來避免共享資源并發操作導致數據問題&#xff0c;這種是鎖在當前進程內。 那么在集群部署下&#xff0c;對于多個節點&#xff0c;我們要使用分布式鎖來避免共享資源并發操作導致數據問題…