通过


你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

HttpsConnection 类

  • java.lang.Object
    • com.microsoft.azure.sdk.iot.device.transport.https.HttpsConnection

public class HttpsConnection

Java SE 类 HttpsURLConnection的包装器。 用于在使用模拟框架 JMockit 进行测试时避免兼容性问题,以及避免在使用 HttpsURLConnection 时出现一些未记录的副作用。

基础 HttpsURLConnection 由 Java 透明管理。 若要重复使用连接,每次 connect() 调用时,输入流 (输入流或错误流,如果输入流不可访问,则必须完全读取) 。 否则,数据将保留在流中,连接将不可重用。

构造函数摘要

修饰符 构造函数 说明
protected HttpsConnection()
HttpsConnection(URL url, HttpsMethod method)

构造函数。

HttpsConnection(URL url, HttpsMethod method, ProxySettings proxySettings)

构造函数。

HttpsConnection(URL url, HttpsMethod method, ProxySettings proxySettings, boolean isHttps)

构造函数。

方法摘要

修饰符和类型 方法和描述
void connect()

将请求发送到构造函数中给定的 URL。

java.util.Map<java.lang.String,java.util.List<java.lang.String>> getResponseHeaders()

以 的形式 Map返回响应标头,其中键是标头字段名称,值是与标头字段名称关联的值。

int getResponseStatus()

返回响应状态代码。

byte[] readError()

从错误流中读取并返回错误原因。

byte[] readInput()

从输入流 (响应流) 读取并返回响应。

void setConnectTimeout(int timeout)

设置连接超时(以毫秒为单位)。

void setReadTimeout(int timeout)

设置读取超时(以毫秒为单位)。

void setRequestHeader(String field, String value)

将请求标头字段设置为给定值。

void setRequestMethod(HttpsMethod method)

设置请求方法 (i。e.

void writeOutput(byte[] body)

保存要随请求一起发送的正文。

方法继承自 java.lang.Object

java.lang.Object.clone java.lang.Object.equals java.lang.Object.finalize java.lang.Object.getClass java.lang.Object.hashCode java.lang.Object.notify java.lang.Object.notifyAll java.lang.Object.toString java.lang.Object.wait java.lang.Object.wait java.lang.Object.wait

构造函数详细信息

HttpsConnection

protected HttpsConnection()

HttpsConnection

public HttpsConnection(URL url, HttpsMethod method)

构造函数。 打开与给定 URL 的连接。 可以是 HTTPS 或 HTTP

Parameters:

url - HTTP/HTTPS 连接的 URL。
method - HTTP 方法 (即 GET) 。

Throws:

TransportException - 如果无法打开连接,则为 。

HttpsConnection

public HttpsConnection(URL url, HttpsMethod method, ProxySettings proxySettings)

构造函数。 打开与给定 URL 的连接。 可以是 HTTPS 或 HTTP

Parameters:

url - HTTP/HTTPS 连接的 URL。
method - HTTP 方法 (即 GET) 。
proxySettings - 连接时要使用的代理设置。 如果为 null,则不会使用代理

Throws:

TransportException - 如果无法打开连接,则为 。

HttpsConnection

public HttpsConnection(URL url, HttpsMethod method, ProxySettings proxySettings, boolean isHttps)

构造函数。 打开与给定 URL 的连接。 可以是 HTTPS 或 HTTP

Parameters:

url - HTTP/HTTPS 连接的 URL。
method - HTTP 方法 (即 GET) 。
proxySettings - 连接时要使用的代理设置。 如果为 null,则不会使用代理
isHttps - 如果为 true,则此请求是 https 请求,而不是 http 请求

Throws:

TransportException - 如果无法打开连接,则为 。

方法详细信息

connect

public void connect()

将请求发送到构造函数中给定的 URL。

Throws:

TransportException - 如果无法建立连接,或者服务器响应状态代码错误,则为 。

getResponseHeaders

public Map> getResponseHeaders()

以 的形式 Map返回响应标头,其中键是标头字段名称,值是与标头字段名称关联的值。

Returns:

响应标头。

getResponseStatus

public int getResponseStatus()

返回响应状态代码。

Returns:

响应状态代码。

Throws:

TransportException - 如果未收到任何响应,则为 。

readError

public byte[] readError()

从错误流中读取并返回错误原因。

Returns:

错误原因。

Throws:

TransportException - 如果无法访问输入流,则为 ,例如,如果无法访问服务器。

readInput

public byte[] readInput()

从输入流 (响应流) 读取并返回响应。

Returns:

响应正文。

Throws:

TransportException - 如果无法访问输入流,则为 ,例如,如果无法访问服务器。

setConnectTimeout

public void setConnectTimeout(int timeout)

设置连接超时(以毫秒为单位)。

Parameters:

timeout - 连接超时(以毫秒为单位)。

setReadTimeout

public void setReadTimeout(int timeout)

设置读取超时(以毫秒为单位)。 读取超时是服务器收到请求后以及服务器发送回数据之前的毫秒数。

Parameters:

timeout - 读取超时。

setRequestHeader

public void setRequestHeader(String field, String value)

将请求标头字段设置为给定值。

Parameters:

field - 标头字段名称。
value - 标头字段值。

setRequestMethod

public void setRequestMethod(HttpsMethod method)

设置请求方法 (即 POST) 。

Parameters:

method - 请求方法。

Throws:

TransportException - 如果请求当前具有非空正文,并且新方法不是 POST 或 PUT,则为 。 这是因为,如果向请求写入正文,Java HttpsURLConnection 会以无提示方式将 HTTPS 方法转换为 POST 或 PUT。

writeOutput

public void writeOutput(byte[] body)

保存要随请求一起发送的正文。

Parameters:

body - 请求正文。

Throws:

TransportException - 如果请求当前不使用方法 POST 或 PUT,并且正文为非空,则为 。 这是因为,如果向请求写入正文,Java HttpsURLConnection 会以无提示方式将 HTTPS 方法转换为 POST 或 PUT。

适用于