前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >跳转网站_redirect

跳转网站_redirect

作者头像
全栈程序员站长
发布2022-11-15 17:37:45
7580
发布2022-11-15 17:37:45
举报
文章被收录于专栏:全栈程序员必看

Created by Jerry Wang on Jun 07, 2014

在browser里输入http url之后,

clipboard1
clipboard1

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

clipboard2
clipboard2

通过httpwatch观察到有一个307 redirect:

clipboard3
clipboard3

通过tcode SMICM 查看ICM server设置:

clipboard4
clipboard4

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

clipboard5
clipboard5

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

代码语言:javascript
复制
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 ) ).

Jetbrains全家桶1年46,售后保障稳定

clipboard6
clipboard6

[外链图片转存失败(img-XaYD1Q6e-1562035984810)(https://user-images.githubusercontent.com/5669954/27250812-b3764332-5338-11e7-9194-667707eb207e.png)]

get_text_by_url的方法实现如下:

代码语言:javascript
复制
  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.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/231332.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月31日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Created by Jerry Wang on Jun 07, 2014
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档