HTTP 307 redirect

简介: HTTP 307 redirect

Created by Jerry Wang on Jun 07, 2014

在browser里输入http url之后,


image.png

敲回车之后http自动转换成https:

image.png

通过httpwatch观察到有一个307 redireimage.pngct:



通过tcode SMICM 查看ICM server设置:

image.png


发现server设置为所有http的request都会自动redirect成https, port number 44356:

image.png


debug下面report能找到redirect具体的处理细节:


data(url) = 'http://<XXXX>:50056/sap/bc/srt/wsdl/flv_10002A111AD1/bndg_url/sap/bc/srt/rfc/sap/zweb_add_2/001/s1/b1?sap-client=001'.
data(content) = zcl_crm_cm_tool=>get_text_by_url( conv #( url ) ).

image.png



get_text_by_url的方法实现如下:

  method GET_TEXT_BY_URL.
    DATA:lo_http_client           TYPE REF TO if_http_client,
         lv_status                TYPE i,
         lv_sysubrc               TYPE sysubrc.
    CALL METHOD cl_http_client=>create_by_url
      EXPORTING
        url                = iv_url
      IMPORTING
        client             = lo_http_client
      EXCEPTIONS
        argument_not_found = 1
        plugin_not_active  = 2
        internal_error     = 3
        OTHERS             = 4.
    ASSERT sy-subrc = 0.
    CALL METHOD lo_http_client->request->set_method( if_http_request=>co_request_method_get ).
*Disable pop-up when request receives unauthorized error: error 401.
    "lo_http_client->propertytype_logon_popup = if_http_client=>co_disabled.
*Send request.
    CALL METHOD lo_http_client->send
      EXCEPTIONS
        http_communication_failure = 1
        http_invalid_state         = 2
        http_processing_failed     = 3.
    ASSERT sy-subrc = 0.
* Get response.
    CALL METHOD lo_http_client->receive
      EXCEPTIONS
        http_communication_failure = 1
        http_invalid_state         = 2
        http_processing_failed     = 3.
   IF sy-subrc <> 0.
        CALL METHOD lo_http_client->get_last_error
        IMPORTING
          code    = lv_sysubrc
          message = DATA(ev_message).
        BREAK-POINT.
        RETURN.
   ENDIF.
   ev_text = lo_http_client->response->get_cdata( ).
   lo_http_client->close( ).
  endmethod.
相关文章
|
1月前
|
前端开发 JavaScript 数据安全/隐私保护
什么是 HTTP 307 Internal Redirect
什么是 HTTP 307 Internal Redirect
312 0
|
1月前
|
搜索推荐 SEO
什么是 HTTP 302 redirect
什么是 HTTP 302 redirect
64 0
|
1月前
|
搜索推荐 开发者 UED
HTTP 302 Redirect 解释与举例
HTTP 302 Redirect 解释与举例
50 0
|
1月前
|
缓存 JavaScript 中间件
如何在 Angular 应用中发起 HTTP 302 redirect
如何在 Angular 应用中发起 HTTP 302 redirect
34 0
ABAP webservice运行时的HTTP 307 redirect重定向是怎么来的
ABAP webservice运行时的HTTP 307 redirect重定向是怎么来的
267 0
ABAP webservice运行时的HTTP 307 redirect重定向是怎么来的
ABAP webservice运行时的HTTP 307 redirect重定向是怎么来的
ABAP webservice运行时的HTTP 307 redirect重定向是怎么来的
111 0
ABAP webservice运行时的HTTP 307 redirect重定向是怎么来的
ABAP webservice运行时的HTTP 307 redirect重定向是怎么来的
ABAP webservice运行时的HTTP 307 redirect重定向是怎么来的
151 0
ABAP webservice运行时的HTTP 307 redirect重定向是怎么来的
|
Kubernetes 应用服务中间件 nginx
K8S Ingress环境下,Http Redirect端口丢失问题
近日发现一个问题:应用程序在返回Http Redirect的时候丢失了原先访问的端口。比如,我们这样访问http://IP-A:Port-A/app/delete,这个url会响应302,但是它返回的Response header Location里丢失了端口,正确的结果应该是这样:http://IP-A:Port-A/app/index,但返回的却是:http://IP-A/app/index,把端口丢失了。
2068 0
|
1月前
|
前端开发
webpack如何设置devServer启动项目为https协议
webpack如何设置devServer启动项目为https协议
307 0
|
12天前
|
安全 前端开发 中间件
中间件中HTTP/HTTPS 协议
【6月更文挑战第3天】
14 3

热门文章

最新文章