国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ABAP:調(diào)用HTTP接口詳解

這篇具有很好參考價值的文章主要介紹了ABAP:調(diào)用HTTP接口詳解。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

DATA:pv_http_client TYPE REF TO if_http_client,
pv_url TYPE string.

1.可以通過URL連接或者IP:端口連接,根據(jù)實際情況而定,
建議使用URL,省去地址服務(wù)器域名轉(zhuǎn)換

"URL接連
CALL METHOD cl_http_client=>create_by_url
EXPORTING
url = pv_url
IMPORTING
client = pv_http_client
EXCEPTIONS
argument_not_found = 1
plugin_not_active = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH
sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

"IP地址鏈接
CALL METHOD cl_http_client=>create
EXPORTING
host = p_host "IP
service = p_port "端口

  •   SCHEME  = '1'
    
  •   PROXY_HOST    = ''
    
  •   PROXY_SERVICE = ''
    IMPORTING
      client  = pv_http_client.
    

    CHECK pv_http_client IS NOT INITIAL.

    pv_http_client->propertytype_logon_popup = pv_http_client->co_disabled.

"HTTP - > header
ABAP:調(diào)用HTTP接口詳解

CALL METHOD pv_http_client->request->set_header_field
EXPORTING
name = ‘~request_method’
value = ‘POST’.

CALL METHOD pv_http_client->request->set_header_field
EXPORTING
name = ‘~server_protocol’
value = ‘HTTP/1.1’.

"HTTP -> 密碼
ABAP:調(diào)用HTTP接口詳解

CALL METHOD pv_http_client->authenticate
  EXPORTING
    "  PROXY_AUTHENTICATION = 'X'
    username = gv_account    "用戶名
    password = gv_password."密碼

"數(shù)據(jù)創(chuàng)建及驗證
ABAP:調(diào)用HTTP接口詳解
ABAP:調(diào)用HTTP接口詳解

CALL METHOD pv_http_client->request->set_header_field
EXPORTING
name = ‘Content-Type’
value = ‘a(chǎn)pplication/x-www-form-urlencoded’."變量根據(jù)實際情況調(diào)整

CALL METHOD pv_http_client->request->set_form_field
EXPORTING
name = ‘sip_appkey’
value = ‘www.baidu.com’.

CALL METHOD pv_http_client->request->set_form_field
EXPORTING
name = ‘sip_timestamp’
value = lv_sip_timestamp.

CALL FUNCTION ‘ZFM_GET_MD5’
EXPORTING
iv_string = lv_password
IMPORTING
ev_md5 = lv_password_md5.

lv_md5_all = ‘nea@burgeon.com.cn’ && lv_sip_timestamp && lv_password_md5.

“https://blog.csdn.net/FQHX_116/article/details/126255335?spm=1001.2014.3001.5502 詳解MD5加密
CALL FUNCTION ‘ZFM_GET_MD5’”
EXPORTING
iv_string = lv_md5_all
IMPORTING
ev_md5 = lv_md5_all.

CALL METHOD pv_http_client->request->set_form_field
EXPORTING
name = ‘sip_sign’
value = lv_md5_all.

CALL METHOD pv_http_client->request->set_form_field
EXPORTING
name = ‘transactions’
value = pv_datastr.

ABAP:調(diào)用HTTP接口詳解
ABAP:調(diào)用HTTP接口詳解

"JSON傳輸
CALL METHOD gv_http_client->request->set_header_field
EXPORTING
name = ‘Content-Type’
value = ‘a(chǎn)pplication/json’.

"數(shù)據(jù)轉(zhuǎn)JSON格式
CALL METHOD cl_fdt_json=>data_to_json
EXPORTING
ia_data = et_data
RECEIVING
rv_json = ev_datastr.

"發(fā)送JSON

CALL METHOD gv_http_client->request->set_header_field
EXPORTING
name = ‘~request_uri’
value = gv_url.

"獲取JSON長度->也可以不設(shè)置
gv_len = strlen( gv_datastr ).

CALL METHOD gv_http_client->request->set_cdata
EXPORTING
data = gv_datastr
offset = 0
length = gv_len.

"數(shù)據(jù)發(fā)送HTTP接口
"發(fā)送請求
pv_http_client->send( EXCEPTIONS http_communication_failure = 1
http_invalid_state = 2 ).

IF sy-subrc <> 0.
"操作失敗,獲取失敗原因
pv_http_client->get_last_error( IMPORTING message = pv_resultmsg ).

ELSE.
"讀取遠程服務(wù)返回的處理過結(jié)果。
pv_http_client->receive( EXCEPTIONS http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3 ).
IF sy-subrc <> 0 .
pv_http_client->get_last_error( IMPORTING message = pv_resultmsg ).
ELSE.
"讀取返回返回內(nèi)容
pv_resultmsg = pv_http_client->response->get_cdata( ).
"獲取HTTP返回值
pv_http_client->response->get_status( IMPORTING code = pv_status ).
ENDIF.

ENDIF.

"解析返回JSON
TRY.
CALL METHOD /ui2/cl_json=>deserialize
EXPORTING
json = pv_resultmsg
CHANGING
data = lt_ztdsoms_return.

  CATCH cx_sy_move_cast_error.

ENDTRY.

"關(guān)閉HTTP鏈接----重要必須要關(guān)閉,不然或?qū)е翲TTP請求過多倒是系統(tǒng)DUMP
IF pv_http_client IS NOT INITIAL.
CALL METHOD pv_http_client->close.
ENDIF.

"獲取JAVA時間戳----如果需要可以使用
CONVERT DATE sy-datlo TIME sy-timlo
INTO TIME STAMP time TIME ZONE sy-zonlo.
lv_tstmp1 = time.
lv_tstmp2 = ‘19700101000000’.
TRY.
CALL METHOD cl_abap_tstmp=>subtract
EXPORTING
tstmp1 = lv_tstmp1
tstmp2 = lv_tstmp2
RECEIVING
r_secs = lv_secs.
CATCH cx_parameter_invalid_range .
CATCH cx_parameter_invalid_type .
ENDTRY.

lc_secs = lv_secs.

CONDENSE lc_secs NO-GAPS.文章來源地址http://www.zghlxwxcb.cn/news/detail-410999.html

到了這里,關(guān)于ABAP:調(diào)用HTTP接口詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包