SAP的代码向www发送http请求的过程

简介: SAP的代码向www发送http请求,这句话像是在搞笑一样。但是仔细想想我们随便打开个浏览器访问个网址,就是在向www发送http请求,这有什么搞笑的呢?SAP既是应用也是开发环境,对外发送个http请求是很正常的。

SAP的代码向www发送http请求,这句话像是在搞笑一样。但是仔细想想我们随便打开个浏览器访问个网址,就是在向www发送http请求,这有什么搞笑的呢?SAP既是应用也是开发环境,对外发送个http请求是很正常的。
那么SAP的http请求代码如何写呢?下面是一个例子:

   "实例化1个 IF_HTTP_CLIENT 的对象得到HTTP_CLIENT
    CL_HTTP_CLIENT=>CREATE_BY_URL(
               EXPORTING URL    = S_URL                "输入参数
               IMPORTING CLIENT = HTTP_CLIENT ).

    "设置某个特定的header field的值
    HTTP_CLIENT->REQUEST->SET_HEADER_FIELD(
            EXPORTING
                 NAME  = '~SERVER_PROTOCOL'
                 VALUE = 'HTTP/1.1' ).

    "设置某个特定的header field的值
    CALL METHOD HTTP_CLIENT->REQUEST->SET_HEADER_FIELD
      EXPORTING
        NAME  = 'CONTENT-TYPE'
        VALUE = 'APPLICATION/XML'.

    "设置某个特定的header field的值
    HTTP_CLIENT->REQUEST->SET_HEADER_FIELD(
          EXPORTING
               NAME  = 'ACCEPT'
               VALUE = '*/*' ).
    "设置http请求的方法GET 或者 POST
    CALL METHOD HTTP_CLIENT->REQUEST->SET_METHOD( 'POST' ).
    "设置http body
    CALL METHOD HTTP_CLIENT->REQUEST->SET_CDATA
      EXPORTING
        DATA = S_BODYDATA.                             "输入参数
   "dispatch of data
    CALL METHOD HTTP_CLIENT->SEND
      EXCEPTIONS
        HTTP_COMMUNICATION_FAILURE = 1
        HTTP_INVALID_STATE         = 2.
    "receipt of http response
    CALL METHOD HTTP_CLIENT->RECEIVE
      EXCEPTIONS
        HTTP_COMMUNICATION_FAILURE = 1
        HTTP_INVALID_STATE         = 2
        HTTP_PROCESSING_FAILED     = 3.
    "获取response中的http的body内容
    S_RETURN = HTTP_CLIENT->RESPONSE->GET_CDATA( ).  "执行结果
    "关闭http链接
    CALL METHOD HTTP_CLIENT->CLOSE.

上述代码是不是很枯燥?是
这是sap中abap代码的规范写法?逻辑是什么呢?
我觉得,sap的pa教材和官方help网站中并没有这样微观的给出,sap向www发送http请求的具体代码的规范,并没有。
我们还是逐句看看上述代码的含义吧。

  1. CL_HTTP_CLIENT=>CREATE_BY_URL()方法
    在SE80中看到这个类的这个方法,右键查看这个方法的属性

image
image
看到上图,就相当于看到了java的api
我们再看看这个类本身的属性:这个类完全是SAP提供的
image
image
这个方法的输入参数是
image
方法的执行结果是得到了一个IF_HTTP_CLIENT对象的实例。

目录
相关文章
|
JSON 监控 API
掌握使用 requests 库发送各种 HTTP 请求和处理 API 响应
本课程全面讲解了使用 Python 的 requests 库进行 API 请求与响应处理,内容涵盖环境搭建、GET 与 POST 请求、参数传递、错误处理、请求头设置及实战项目开发。通过实例教学,学员可掌握基础到高级技巧,并完成天气查询应用等实际项目,适合初学者快速上手网络编程与 API 调用。
1171 130
|
JavaScript 前端开发 API
Node.js中发起HTTP请求的五种方式
以上五种方式,尽管只是冰山一角,但已经足以让编写Node.js HTTP请求的你,在连接世界的舞台上演奏出华丽的乐章。从原生的 `http`到现代的 `fetch`,每种方式都有独特的风格和表现力,让你的代码随着项目的节奏自由地舞动。
1080 65
|
JSON API 网络架构
HTTP常见的请求方法、响应状态码、接口规范介绍
本文详细介绍了HTTP常见的请求方法、响应状态码和接口规范。通过理解和掌握这些内容,开发者可以更好地设计和实现W
2703 83
HTTP协议中请求方式GET 与 POST 什么区别 ?
GET和POST的主要区别在于参数传递方式、安全性和应用场景。GET通过URL传递参数,长度受限且安全性较低,适合获取数据;而POST通过请求体传递参数,安全性更高,适合提交数据。
949 2
|
Go 定位技术
Golang中设置HTTP请求代理的策略
在实际应用中,可能还需要处理代理服务器的连接稳定性、响应时间、以及错误处理等。因此,建议在使用代理时增加适当的错误重试机制,以确保网络请求的健壮性。此外,由于网络编程涉及的细节较多,彻底测试以确认代理配置符合预期的行为也是十分重要的。
490 8
|
Go
在golang中发起http请求以获取访问域名的ip地址实例(使用net, httptrace库)
这只是追踪我们的行程的简单方法,不过希望你跟着探险家的脚步,即使是在互联网的隧道中,也可以找到你想去的地方。接下来就是你的探险之旅了,祝你好运!
751 26
|
JSON API 数据安全/隐私保护
使用curl命令在服务器上执行HTTP请求
总的来说,curl是一个非常强大的工具,它可以让你在命令行中发送各种类型的HTTP请求。通过学习和实践,你可以掌握这个工具,使你的工作更加高效。
1458 30
|
JSON JavaScript API
Python模拟HTTP请求实现APP自动签到
Python模拟HTTP请求实现APP自动签到
|
JSON 安全 网络协议
HTTP/HTTPS协议(请求响应模型、状态码)
本文简要介绍了HTTP与HTTPS协议的基础知识。HTTP是一种无状态的超文本传输协议,基于TCP/IP,常用80端口,通过请求-响应模型实现客户端与服务器间的通信;HTTPS为HTTP的安全版本,基于SSL/TLS加密技术,使用443端口,确保数据传输的安全性。文中还详细描述了HTTP请求方法(如GET、POST)、请求与响应头字段、状态码分类及意义,并对比了两者在请求-响应模型中的安全性差异。
1263 20

热门文章

最新文章