• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# net_http.h
2<!--Kit: Network Kit-->
3<!--Subsystem: Communication-->
4<!--Owner: @wmyao_mm-->
5<!--Designer: @guo-min_net-->
6<!--Tester: @tongxilin-->
7<!--Adviser: @zhang_yixin13-->
8## 概述
9
10定义HTTP请求模块的接口。
11
12**引用文件:** <network/netstack/net_http.h>
13
14**库:** libnet_http.so
15
16**系统能力:** SystemCapability.Communication.NetStack
17
18**起始版本:** 20
19
20**相关模块:** [netstack](capi-netstack.md)
21
22## 汇总
23
24### 函数
25
26| 名称 | 描述 |
27| -- | -- |
28| [Http_Headers *OH_Http_CreateHeaders(void)](#oh_http_createheaders) | 创建HTTP请求或者响应的头。 |
29| [void OH_Http_DestroyHeaders(Http_Headers **headers)](#oh_http_destroyheaders) | 销毁HTTP请求或者响应的头。 |
30| [uint32_t OH_Http_SetHeaderValue(struct Http_Headers *headers, const char *name, const char *value)](#oh_http_setheadervalue) | 设置HTTP请求或者响应的头的键值对。 |
31| [Http_HeaderValue *OH_Http_GetHeaderValue(Http_Headers *headers, const char *name)](#oh_http_getheadervalue) | 通过键获取请求或响应头的值。 |
32| [Http_HeaderEntry *OH_Http_GetHeaderEntries(Http_Headers *headers)](#oh_http_getheaderentries) | 获取请求或响应头的所有键值对。 |
33| [void OH_Http_DestroyHeaderEntries(Http_HeaderEntry **headerEntry)](#oh_http_destroyheaderentries) | 销毁OH_Http_GetHeaderEntries中获取的所有键值对。 |
34| [Http_Request *OH_Http_CreateRequest(const char *url)](#oh_http_createrequest) | 创建HTTP请求。 |
35| [int OH_Http_Request(Http_Request *request, Http_ResponseCallback callback, Http_EventsHandler handler)](#oh_http_request) | 发起HTTP请求。 |
36| [void OH_Http_Destroy(struct Http_Request **request)](#oh_http_destroy) | 销毁HTTP请求。 |
37
38## 函数说明
39
40### OH_Http_CreateHeaders()
41
42```
43Http_Headers *OH_Http_CreateHeaders(void)
44```
45
46**描述**
47
48创建HTTP请求或者响应的头。
49
50**系统能力:** SystemCapability.Communication.NetStack
51
52**起始版本:** 20
53
54**返回:**
55
56| 类型                 | 说明 |
57|--------------------| -- |
58| [Http_Headers](capi-netstack-http-headers.md) * | Http_Headers 返回HTTP请求或者响应的头,指向Http_Headers。 |
59
60### OH_Http_DestroyHeaders()
61
62```
63void OH_Http_DestroyHeaders(Http_Headers **headers)
64```
65
66**描述**
67
68销毁HTTP请求或者响应的头。
69
70**系统能力:** SystemCapability.Communication.NetStack
71
72**起始版本:** 20
73
74
75**参数:**
76
77| 参数项 | 描述 |
78| -- | -- |
79| [Http_Headers](capi-netstack-http-headers.md) **headers | 要被销毁的HTTP请求或响应的头,是通过OH_Http_CreateHeaders生成的数据。 |
80
81### OH_Http_SetHeaderValue()
82
83```
84uint32_t OH_Http_SetHeaderValue(struct Http_Headers *headers, const char *name, const char *value)
85```
86
87**描述**
88
89设置HTTP请求或者响应的头的键值对。
90
91**系统能力:** SystemCapability.Communication.NetStack
92
93**起始版本:** 20
94
95
96**参数:**
97
98| 参数项 | 描述 |
99| -- | -- |
100| [struct Http_Headers](capi-netstack-http-headers.md) *headers | 指向要设置的Http_Headers的指针。 |
101| const char *name | 键值。 |
102| const char *value | 键值对应的值。 |
103
104**返回:**
105
106| 类型 | 说明 |
107| -- | -- |
108| uint32_t | uint32_t 0 - 成功。 401 - 参数错误。 2300027 - 内存不足。 |
109
110### OH_Http_GetHeaderValue()
111
112```
113Http_HeaderValue *OH_Http_GetHeaderValue(Http_Headers *headers, const char *name)
114```
115
116**描述**
117
118通过键获取请求或响应头的值。
119
120**系统能力:** SystemCapability.Communication.NetStack
121
122**起始版本:** 20
123
124
125**参数:**
126
127| 参数项 | 描述 |
128| -- | -- |
129| [Http_Headers](capi-netstack-http-headers.md) *headers | 指向要获取值的Http_Headers的指针。 |
130| const char *name | 键值。 |
131
132**返回:**
133
134| 类型                     | 说明 |
135|------------------------| -- |
136| [Http_HeaderValue](capi-netstack-http-headervalue.md) * | Http_HeaderValue 指向获取的Http_HeaderValue的指针。 |
137
138### OH_Http_GetHeaderEntries()
139
140```
141Http_HeaderEntry *OH_Http_GetHeaderEntries(Http_Headers *headers)
142```
143
144**描述**
145
146获取请求或响应头的所有键值对。
147
148**系统能力:** SystemCapability.Communication.NetStack
149
150**起始版本:** 20
151
152
153**参数:**
154
155| 参数项 | 描述 |
156| -- | -- |
157| [Http_Headers](capi-netstack-http-headers.md) *headers | 指向要获取值的Http_Headers的指针。 |
158
159**返回:**
160
161| 类型                     | 说明 |
162|------------------------| -- |
163| [Http_HeaderEntry](capi-netstack-http-headerentry.md) * | Http_HeaderEntry 指向获取的Http_HeaderEntry的指针。 |
164
165### OH_Http_DestroyHeaderEntries()
166
167```
168void OH_Http_DestroyHeaderEntries(Http_HeaderEntry **headerEntry)
169```
170
171**描述**
172
173销毁OH_Http_GetHeaderEntries中获取的所有键值对。
174
175**系统能力:** SystemCapability.Communication.NetStack
176
177**起始版本:** 20
178
179
180**参数:**
181
182| 参数项 | 描述 |
183| -- | -- |
184| [Http_HeaderEntry](capi-netstack-http-headerentry.md) **headerEntry | 指向要销毁的Http_HeaderEntry的指针,是通过OH_Http_GetHeaderEntries获取的数据。 |
185
186### OH_Http_CreateRequest()
187
188```
189Http_Request *OH_Http_CreateRequest(const char *url)
190```
191
192**描述**
193
194创建HTTP请求。
195
196**系统能力:** SystemCapability.Communication.NetStack
197
198**起始版本:** 20
199
200
201**参数:**
202
203| 参数项 | 描述 |
204| -- | -- |
205| const char *url | 请求URL。 |
206
207**返回:**
208
209| 类型                 | 说明 |
210|--------------------| -- |
211| [Http_Request](capi-netstack-http-request.md) * | 返回创建的请求,指向Http_Request的指针。 |
212
213### OH_Http_Request()
214
215```
216int OH_Http_Request(Http_Request *request, Http_ResponseCallback callback, Http_EventsHandler handler)
217```
218
219**描述**
220
221发起HTTP请求。
222
223**系统能力:** SystemCapability.Communication.NetStack
224
225**需要权限:** ohos.permission.INTERNET
226
227**起始版本:** 20
228
229
230**参数:**
231
232| 参数项 | 描述 |
233| -- | -- |
234| [Http_Request](capi-netstack-http-request.md) *request | 发送的请求,指向Http_Request的指针。 |
235| [Http_ResponseCallback](capi-net-http-type-h.md#http_responsecallback) callback | 请求的响应,指向Http_ResponseCallback。 |
236| [Http_EventsHandler](capi-netstack-http-eventshandler.md) handler | 监听不同HTTP事件的回调函数,指向Http_EventsHandler。 |
237
238**返回:**
239
240| 类型 | 说明 |
241| -- | -- |
242| int | 请求发起成功返回0,非0表示请求发起失败,错误码的具体描述,可以参考Http_ErrCode。<br> 在Http_ResponseCallback中也会携带errCode信息,表示请求发起成功,但是因为一些原因,和服务器的交互异常,具体异常原因,同步参考Http_ErrCode。 |
243
244### OH_Http_Destroy()
245
246```
247void OH_Http_Destroy(struct Http_Request **request)
248```
249
250**描述**
251
252销毁HTTP请求。
253
254**系统能力:** SystemCapability.Communication.NetStack
255
256**起始版本:** 20
257
258
259**参数:**
260
261| 参数项 | 描述 |
262| -- | -- |
263| [struct Http_Request](capi-netstack-http-request.md) **request | 要销毁的请求,指向Http_Request的指针,参考[Http_Request](capi-netstack-http-request.md)。 |
264
265
266