发送/接收来自MS Word插件的http请求/响应
本文关键字:插件 http 请求 响应 Word MS 发送 | 更新日期: 2023-09-27 18:06:04
我正在尝试为MS Word编写一个插件。是否有可能为MS Word插件监听特定端口和发送/接收http请求/响应?在Word和Word之外运行的应用程序之间会有防火墙吗?
Office插件可以发出HTTP请求而不会触发防火墙问题(使用Windows防火墙的默认配置),但如果不触发防火墙问题则无法侦听。
如果您从word内部向word外部的服务发出请求,该服务在侦听端口时可能会遇到防火墙问题。
Windows防火墙,默认情况下阻止传入请求。Windows防火墙包含在所有版本的Windows XP SP2或更高版本中。
请参阅MSDN获取更多信息。
另外Function GetRateCBR(dDate As Date) As String
Dim sUrlRequest, intTry As Integer, _
strResponse As String
Dim oXMLHTTP As Object
Dim oResponse As Object
Set oResponse = CreateObject("MSXML2.DOMDocument")
'Build URL for request
sUrlRequest = _
"http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=" _
& Format(dDate, "dd.mm.yyyy") _
& "&date_req2=" & Format(dDate, "dd.mm.yyyy") _
& "&VAL_NM_RQ=" & "R01235"
'Try to get a response, 10 tries
intTry = 1
Do Until intTry > 10
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
oXMLHTTP.Open "GET", sUrlRequest, False
oXMLHTTP.send
If oXMLHTTP.Status = 200 Then
If oResponse.loadXML(oXMLHTTP.responseText) Then _
Exit Do
End If
If Not oXMLHTTP Is Nothing Then oXMLHTTP.abort: _
Set oXMLHTTP = Nothing
DoEvents
intTry = intTry + 1
Loop
If Not oXMLHTTP Is Nothing Then oXMLHTTP.abort: _
Set oXMLHTTP = Nothing
If intTry <= 10 Then
GetRateCBR = Mid$(oResponse.Text, 3)
End If
If Not oResponse Is Nothing Then oResponse.abort: _
Set oResponse = Nothing
End Function
通过Access Blog的例子