是否有随 Windows 一起提供的启用自动化的 HTTP 客户端(即我可以使用 OLE 客户端控制的东西),并且我可以假设大多数版本的 Windows 上都存在该客户端?
我打算在 SAP ABAP 程序中使用它,我希望用户可以选择通过桌面连接下载数据,而不是从 SAP 服务器发起请求。
我想看看在这种情况下是否可以对 Internet Explorer 进行 OLE 调用(尽管我不确定是否可以检索 HTTP 请求的响应),但我不知何故认为这样的客户端会以某种方式“更干净”。
好的,在输入这个问题时,我在 Google 上搜索了“vbscript http request”,下面的 Stack Overflow 问题通过指向MSXML2.XMLHTTP
我将通过 OLE 实例化的对象来回答我的问题:HTTP GET in VBS
使用这个答案,我们可以编写一些 ABAP 代码,如下所示:
data: httpclient type ole2_object.
data: response type string.
create object httpclient 'MSXML2.XMLHTTP' no flush.
call method of httpclient 'open' no flush
exporting
#1 = 'GET'
#2 = 'http://www.google.co.za'
#3 = 0.
call method of httpclient 'send'.
get property of httpclient 'responseText' = response.
在 last 之后GET PROPERTY
,响应字符串变量包含 HTTP 响应的正文。
CL_HTTP_CLIENT 类不适用于您的情况吗?根据我的经验,使用 OLE 自动化会使您的程序不太稳定。
使用 HTTP_POST 或 HTTP_GET 函数。有一个 RFC_DESTINATION 参数。使用值 SAPHTTP 通过用户桌面访问站点 SAPHTTPA 通过 SAP 服务器进行访问。