使用 RequestHeader 在同一页面中请求和响应其他服务器
Request and response to other server in same page using RequestHeader
在请求值 A 和 B 后,如何在 vbscript/ASP 中显示其他服务器的输出。
情况:
- 我的页面请求到 A 和 B 的其他服务器值..
- A 和 B 的服务器响应值..
- 我想在同一页面中发布输出,A 和 B 的服务器值。
这是我的代码:
<%
'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)
在请求值 A 和 B 后,如何在 vbscript/ASP 中显示其他服务器的输出。
情况:
- 我的页面请求到 A 和 B 的其他服务器值..
- A 和 B 的服务器响应值..
- 我想在同一页面中发布输出,A 和 B 的服务器值。
这是我的代码:
<%
'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)