第二章 使用代理服务器
使用代理服务器
Web
客户端可以通过代理服务器与 Web
服务通信。要进行设置,请指定 Web 客户端实例的属性以指示要使用的代理服务器。这些属性如下:
HttpProxyServer
指定要使用的代理服务器的主机名。如果此属性不为空,则 HTTP
请求将定向到此计算机。
HttpProxyPort
指定代理服务器上要连接的端口。
HttpProxyHTTPS
如果使用代理服务器并且该代理服务器支持 HTTPS
,则将其指定为 true
。
请注意,如果使用 HTTPS
,则还必须将客户端的 SSLConfiguration
属性设置为 SSL/TLS
配置的名称;有关更多详细信息,请参阅配置客户端以使用 SSL
。
HttpProxyAuthorization
如果 Web
客户端需要向代理服务器验证自身身份,请将其指定为所需的 Proxy-Authorization
标头字段。
HttpProxyTunnel
如果 Web
客户端应通过代理建立到目标 HTTP
服务器的隧道,请将其指定为 true
。如果为 true
,请求将使用 HTTP CONNECT
命令建立隧道。代理服务器的地址取自 HttpProxyServer
和 HttpProxyPort
属性。如果端点 URL
具有 https:
协议,则一旦建立隧道, IRIS
就会协商 SSL
连接。在这种情况下,HttpProxyHTTPS
属性将被忽略,因为隧道与目标系统建立了直接连接。
设置 HTTP 标头
如果需要进一步控制 Web
客户端发送的 HTTP
标头,则可以使用 %SOAP.WebClient
的以下方法:
SetHttpHeader()
向 HTTP
请求添加标头。请注意,Content-Type
、Content-Encoding
和 Content-Length
标头是实体主体的一部分,而不是 HTTP
主标头。无法设置 Content-Length
标头,因为它是只读的。也无法设置 Connection
标头,因为此类不支持持久连接。
ResetHttpHeaders()
清除所有 HTTP
标头。
指定要使用的 HTTP
版本
默认情况下,Web
客户端使用 HTTP/1.1
。可以改用 HTTP/1.0
。为此,请将客户端的 HttpVersion
属性设置为“1.0”
。
禁用 SSL 服务器名称检查
默认情况下,当 Web
客户端通过 SSL
连接到服务器时,它会检查证书服务器名称是否与用于连接到服务器的 DNS
名称匹配。(此检查在 RFC 2818
在新选项卡中打开第 3.1
节中描述。通配符支持在 RFC 2595
中描述,但浏览器通常会检查服务器名称, 也选择这样做。)
要禁用此检查,请将客户端的 SSLCheckServerIdentity
属性设置为 0
。
网友评论