IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> SAP 调取https(API)接口 -> 正文阅读

[网络协议]SAP 调取https(API)接口

一、对https接口的简单认识

我使用的百度天气接口
在这里插入图片描述

1.参数-Params
这些参数为必填,看接口的开发文档的要求来就好了。
用户密匙在上面申请创建
在这里插入图片描述

2.权限-Authorization
一些API是要用户和密码

3.抬头-Headers
json 格式,和utf-8这类的信息。在ABAP对应的设置是:

  CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
    EXPORTING
      NAME  = 'Content-Type'
      VALUE = 'application/json'.

在这里插入图片描述
4.主体-Body
为json格式的数据,比如
在这里插入图片描述

二、实例操作

1.获取天气接口的密匙
https://lbsyun.baidu.com/apiconsole/center#/home
按照网站的提示操作就可以了。

2.SE38创建程序

DATA: len         TYPE        i, "发送报文长度"
      len_string  TYPE        string,
      url         TYPE        string, "接口地址
      http_client TYPE REF TO if_http_client, "http客户端
      post_string TYPE        string,
      result      TYPE        string.
DATA: it_header  TYPE tihttpnvp,
      gv_json_in TYPE string VALUE '' .

START-OF-SELECTION.
"此密匙为我的私人密匙,你可以测试使用
  url = 'https://api.map.baidu.com/weather/v1/district_id=222405&data_type=all&ak=cvqVbWx3ruVm63LqMbuW43K3oqNOodBT'.
 "url = 'http://192.168.10.123:8081/list' ."

    cl_http_client=>create_by_url(
        EXPORTING url = url    "服务提供方服务地址
        IMPORTING client  =  DATA(lo_client)
      ).

  "调取方式:get 或者为 post"
  " lo_client->request->set_method( if_http_request=>co_request_method_post ).
   lo_client->request->set_method( if_http_request=>co_request_method_get ).

**  设置post接口body参数"
      lo_client->request->set_cdata( data = gv_json_in ).

**  发送数据
    lo_client->send(
*      EXPORTING
*        timeout                    = co_timeout_default " Timeout of Answer Waiting Time
      EXCEPTIONS
        http_communication_failure = 1                  " Communication Error
        http_invalid_state         = 2                  " Invalid state
        http_processing_failed     = 3                  " Error When Processing Method
        http_invalid_timeout       = 4                  " Invalid Time Entry
        OTHERS                     = 5
    ).
    IF sy-subrc <> 0.
       result = '接口接受响应失败'.
    ENDIF.

**********************************************************************
**  接收返回参数
    lo_client->receive(
      EXCEPTIONS
        http_communication_failure = 1                " Communication Error
        http_invalid_state         = 2                " Invalid state
        http_processing_failed     = 3                " Error When Processing Method
        OTHERS                     = 4
    ).
    IF sy-subrc <> 0.
      result = '接口接受响应失败'.
    ENDIF.

    result = lo_client->response->get_cdata( ).

  lo_client->close( ).
 WRITE: url.
  WRITE: / result.

3.上传证书
在网站上下载证书之后,进入STRUST 事务代码,导入证书
在这里插入图片描述
3.运行程序

在这里插入图片描述
成功返回天气结果

4.https需要导入证书,不然会报500 SSL Peer错误
在这里插入图片描述
如果报错404那说明是数据格式或者程序代码问题。

5.http就不用导入证书就可以链接
url换成内网的IP接口地址
运行结果:接口已经调取成功,只是我传输的内容不对。
在这里插入图片描述

参考链接:
SAP调用外部API

我是寒武青锋,分享使我快乐。记得点赞哈
请添加图片描述

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-09 16:37:35  更:2021-10-09 16:38:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/29 20:07:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码