使用 RequestHeader 在同一页面中请求和响应其他服务器

Request and response to other server in same page using RequestHeader

在请求值 A 和 B 后,如何在 vbscript/ASP 中显示其他服务器的输出。

情况:

这是我的代码:

<% 
'URL to open....<br> 
sUrl = "some url" 
'POST Request to send. 
a="aaa" 
b="111" 
sRequest = "value1=a&value2=b" 
HTTPPost sUrl, sRequest 

Function HTTPPost(sUrl, sRequest) 
    Set oHTTP=Server.CreateObject("Msxml2.ServerXMLHTTP.6.0")     
    oHTTP.setOption 2, 13056 
    oHTTP.open "POST", sUrl,false 
    oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
    oHTTP.setRequestHeader "Content-Length", Len(sRequest) 
    oHTTP.send sRequest 
    HTTPPost = oHTTP.responseText 
End Function 
%> 

VBScript中没有字符串插值,所以需要拼接构建参数字符串:

sRequest = "value1=" & escape(a) & "&value2=" & escape(b)

根据 a 和 b 的值,您可能还需要使用 escape() 来确保它是 HTTP 友好的,我在上面添加了这一点。

要在页面中显示,您只需将 HTTPPost() 的 return 值写入 Response 对象 - 当然这需要根据该值进行更改是以及您希望如何在页面上显示它。

Response.Write HTTPPost(sUrl, sRequest)