xref: /aosp_15_r20/external/curl/docs/libcurl/curl_url.md (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Worker---
2*6236dae4SAndroid Build Coastguard Workerc: Copyright (C) Daniel Stenberg, <[email protected]>, et al.
3*6236dae4SAndroid Build Coastguard WorkerSPDX-License-Identifier: curl
4*6236dae4SAndroid Build Coastguard WorkerTitle: curl_url
5*6236dae4SAndroid Build Coastguard WorkerSection: 3
6*6236dae4SAndroid Build Coastguard WorkerSource: libcurl
7*6236dae4SAndroid Build Coastguard WorkerSee-also:
8*6236dae4SAndroid Build Coastguard Worker  - CURLOPT_CURLU (3)
9*6236dae4SAndroid Build Coastguard Worker  - curl_url_cleanup (3)
10*6236dae4SAndroid Build Coastguard Worker  - curl_url_dup (3)
11*6236dae4SAndroid Build Coastguard Worker  - curl_url_get (3)
12*6236dae4SAndroid Build Coastguard Worker  - curl_url_set (3)
13*6236dae4SAndroid Build Coastguard Worker  - curl_url_strerror (3)
14*6236dae4SAndroid Build Coastguard WorkerProtocol:
15*6236dae4SAndroid Build Coastguard Worker  - All
16*6236dae4SAndroid Build Coastguard WorkerAdded-in: 7.62.0
17*6236dae4SAndroid Build Coastguard Worker---
18*6236dae4SAndroid Build Coastguard Worker
19*6236dae4SAndroid Build Coastguard Worker# NAME
20*6236dae4SAndroid Build Coastguard Worker
21*6236dae4SAndroid Build Coastguard Workercurl_url - create a URL handle
22*6236dae4SAndroid Build Coastguard Worker
23*6236dae4SAndroid Build Coastguard Worker# SYNOPSIS
24*6236dae4SAndroid Build Coastguard Worker
25*6236dae4SAndroid Build Coastguard Worker~~~c
26*6236dae4SAndroid Build Coastguard Worker#include <curl/curl.h>
27*6236dae4SAndroid Build Coastguard Worker
28*6236dae4SAndroid Build Coastguard WorkerCURLU *curl_url();
29*6236dae4SAndroid Build Coastguard Worker~~~
30*6236dae4SAndroid Build Coastguard Worker
31*6236dae4SAndroid Build Coastguard Worker# DESCRIPTION
32*6236dae4SAndroid Build Coastguard Worker
33*6236dae4SAndroid Build Coastguard WorkerThis function allocates a URL object and returns a *CURLU* handle for it,
34*6236dae4SAndroid Build Coastguard Workerto be used as input to all other URL API functions.
35*6236dae4SAndroid Build Coastguard Worker
36*6236dae4SAndroid Build Coastguard WorkerThis is a handle to a URL object that holds or can hold URL components for a
37*6236dae4SAndroid Build Coastguard Workersingle URL. When the object is first created, there is of course no components
38*6236dae4SAndroid Build Coastguard Workerstored. They are then set in the object with the curl_url_set(3)
39*6236dae4SAndroid Build Coastguard Workerfunction.
40*6236dae4SAndroid Build Coastguard Worker
41*6236dae4SAndroid Build Coastguard Worker# %PROTOCOLS%
42*6236dae4SAndroid Build Coastguard Worker
43*6236dae4SAndroid Build Coastguard Worker# EXAMPLE
44*6236dae4SAndroid Build Coastguard Worker
45*6236dae4SAndroid Build Coastguard Worker~~~c
46*6236dae4SAndroid Build Coastguard Workerint main(void)
47*6236dae4SAndroid Build Coastguard Worker{
48*6236dae4SAndroid Build Coastguard Worker  CURLUcode rc;
49*6236dae4SAndroid Build Coastguard Worker  CURLU *url = curl_url();
50*6236dae4SAndroid Build Coastguard Worker  rc = curl_url_set(url, CURLUPART_URL, "https://example.com", 0);
51*6236dae4SAndroid Build Coastguard Worker  if(!rc) {
52*6236dae4SAndroid Build Coastguard Worker    char *scheme;
53*6236dae4SAndroid Build Coastguard Worker    rc = curl_url_get(url, CURLUPART_SCHEME, &scheme, 0);
54*6236dae4SAndroid Build Coastguard Worker    if(!rc) {
55*6236dae4SAndroid Build Coastguard Worker      printf("the scheme is %s\n", scheme);
56*6236dae4SAndroid Build Coastguard Worker      curl_free(scheme);
57*6236dae4SAndroid Build Coastguard Worker    }
58*6236dae4SAndroid Build Coastguard Worker    curl_url_cleanup(url);
59*6236dae4SAndroid Build Coastguard Worker  }
60*6236dae4SAndroid Build Coastguard Worker}
61*6236dae4SAndroid Build Coastguard Worker~~~
62*6236dae4SAndroid Build Coastguard Worker
63*6236dae4SAndroid Build Coastguard Worker# %AVAILABILITY%
64*6236dae4SAndroid Build Coastguard Worker
65*6236dae4SAndroid Build Coastguard Worker# RETURN VALUE
66*6236dae4SAndroid Build Coastguard Worker
67*6236dae4SAndroid Build Coastguard WorkerReturns a **CURLU *** if successful, or NULL if out of memory.
68