summaryrefslogtreecommitdiff
path: root/docs/libcurl/curl_easy_setopt.md
blob: ccca56de6b24f8657bcf4a42a19ecd011c26d28c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
---
c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
SPDX-License-Identifier: curl
Title: curl_easy_setopt
Section: 3
Source: libcurl
See-also:
  - curl_easy_cleanup (3)
  - curl_easy_getinfo (3)
  - curl_easy_init (3)
  - curl_easy_option_by_id (3)
  - curl_easy_option_by_name (3)
  - curl_easy_option_next (3)
  - curl_easy_reset (3)
  - curl_multi_setopt (3)
Protocol:
  - All
Added-in: 7.1
---

# NAME

curl_easy_setopt - set options for a curl easy handle

# SYNOPSIS

~~~c
#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
~~~

# DESCRIPTION

curl_easy_setopt(3) is used to tell libcurl how to behave. By setting the
appropriate options, the application can change libcurl's behavior. All
options are set with an *option* followed by a *parameter*. That parameter can
be a **long**, a **function pointer**, an **object pointer** or a
**curl_off_t**, depending on what the specific option expects. Read this
manual carefully as bad input values may cause libcurl to behave badly. You
can only set one option in each function call. A typical application uses many
curl_easy_setopt(3) calls in the setup phase.

The *handle* argument is the return code from a curl_easy_init(3) or
curl_easy_duphandle(3) call.

Options set with this function call are sticky. They remain set for all
forthcoming transfers performed using this *handle*. The options are not in
any way reset between transfers, so if you want subsequent transfers with
different options, you must change them between the transfers. You can
optionally reset all options back to internal default with curl_easy_reset(3).

The order in which the options are set does not matter.

# STRINGS

Strings passed to libcurl as 'char *' arguments, are copied by the library;
the string storage associated to the pointer argument may be discarded or
reused after curl_easy_setopt(3) returns. The only exception to this rule is
really CURLOPT_POSTFIELDS(3), but the alternative that copies the string
CURLOPT_COPYPOSTFIELDS(3) has some usage characteristics you need to read up
on.

This function does not accept input strings longer than
**CURL_MAX_INPUT_LENGTH** (8 MB).

libcurl does little to no verification of the contents of provided strings.
Passing in "creative octets" like newlines where they are not expected might
trigger unexpected results.

Before version 7.17.0, strings were not copied. Instead the user was forced
keep them available until libcurl no longer needed them.

# OPTIONS

## CURLOPT_ABSTRACT_UNIX_SOCKET

Path to an abstract Unix domain socket. See CURLOPT_ABSTRACT_UNIX_SOCKET(3)

## CURLOPT_ACCEPTTIMEOUT_MS

Timeout for waiting for the server's connect back to be accepted. See
CURLOPT_ACCEPTTIMEOUT_MS(3)

## CURLOPT_ACCEPT_ENCODING

Accept-Encoding and automatic decompressing data. See
CURLOPT_ACCEPT_ENCODING(3)

## CURLOPT_ADDRESS_SCOPE

IPv6 scope for local addresses. See CURLOPT_ADDRESS_SCOPE(3)

## CURLOPT_ALTSVC

Specify the Alt-Svc: cache filename. See CURLOPT_ALTSVC(3)

## CURLOPT_ALTSVC_CTRL

Enable and configure Alt-Svc: treatment. See CURLOPT_ALTSVC_CTRL(3)

## CURLOPT_APPEND

Append to remote file. See CURLOPT_APPEND(3)

## CURLOPT_AUTOREFERER

Automatically set Referer: header. See CURLOPT_AUTOREFERER(3)

## CURLOPT_AWS_SIGV4

AWS HTTP V4 Signature. See CURLOPT_AWS_SIGV4(3)

## CURLOPT_BUFFERSIZE

Ask for alternate buffer size. See CURLOPT_BUFFERSIZE(3)

## CURLOPT_CAINFO

CA cert bundle. See CURLOPT_CAINFO(3)

## CURLOPT_CAINFO_BLOB

CA cert bundle memory buffer. See CURLOPT_CAINFO_BLOB(3)

## CURLOPT_CAPATH

Path to CA cert bundle. See CURLOPT_CAPATH(3)

## CURLOPT_CA_CACHE_TIMEOUT

Timeout for CA cache. See CURLOPT_CA_CACHE_TIMEOUT(3)

## CURLOPT_CERTINFO

Extract certificate info. See CURLOPT_CERTINFO(3)

## CURLOPT_CHUNK_BGN_FUNCTION

Callback for wildcard download start of chunk. See
CURLOPT_CHUNK_BGN_FUNCTION(3)

## CURLOPT_CHUNK_DATA

Data pointer to pass to the chunk callbacks. See CURLOPT_CHUNK_DATA(3)

## CURLOPT_CHUNK_END_FUNCTION

Callback for wildcard download end of chunk. See CURLOPT_CHUNK_END_FUNCTION(3)

## CURLOPT_CLOSESOCKETDATA

Data pointer to pass to the close socket callback. See
CURLOPT_CLOSESOCKETDATA(3)

## CURLOPT_CLOSESOCKETFUNCTION

Callback for closing socket. See CURLOPT_CLOSESOCKETFUNCTION(3)

## CURLOPT_CONNECTTIMEOUT

Timeout for the connection phase. See CURLOPT_CONNECTTIMEOUT(3)

## CURLOPT_CONNECTTIMEOUT_MS

Millisecond timeout for the connection phase. See CURLOPT_CONNECTTIMEOUT_MS(3)

## CURLOPT_CONNECT_ONLY

Only connect, nothing else. See CURLOPT_CONNECT_ONLY(3)

## CURLOPT_CONNECT_TO

Connect to a specific host and port. See CURLOPT_CONNECT_TO(3)

## CURLOPT_CONV_FROM_NETWORK_FUNCTION

**OBSOLETE** Callback for code base conversion.
See CURLOPT_CONV_FROM_NETWORK_FUNCTION(3)

## CURLOPT_CONV_FROM_UTF8_FUNCTION

**OBSOLETE** Callback for code base conversion.
See CURLOPT_CONV_FROM_UTF8_FUNCTION(3)

## CURLOPT_CONV_TO_NETWORK_FUNCTION

**OBSOLETE** Callback for code base conversion.
See CURLOPT_CONV_TO_NETWORK_FUNCTION(3)

## CURLOPT_COOKIE

Cookie(s) to send. See CURLOPT_COOKIE(3)

## CURLOPT_COOKIEFILE

File to read cookies from. See CURLOPT_COOKIEFILE(3)

## CURLOPT_COOKIEJAR

File to write cookies to. See CURLOPT_COOKIEJAR(3)

## CURLOPT_COOKIELIST

Add or control cookies. See CURLOPT_COOKIELIST(3)

## CURLOPT_COOKIESESSION

Start a new cookie session. See CURLOPT_COOKIESESSION(3)

## CURLOPT_COPYPOSTFIELDS

Send a POST with this data - and copy it. See CURLOPT_COPYPOSTFIELDS(3)

## CURLOPT_CRLF

Convert newlines. See CURLOPT_CRLF(3)

## CURLOPT_CRLFILE

Certificate Revocation List. See CURLOPT_CRLFILE(3)

## CURLOPT_CURLU

Set URL to work on with a URL handle. See CURLOPT_CURLU(3)

## CURLOPT_CUSTOMREQUEST

Custom request/method. See CURLOPT_CUSTOMREQUEST(3)

## CURLOPT_DEBUGDATA

Data pointer to pass to the debug callback. See CURLOPT_DEBUGDATA(3)

## CURLOPT_DEBUGFUNCTION

Callback for debug information. See CURLOPT_DEBUGFUNCTION(3)

## CURLOPT_DEFAULT_PROTOCOL

Default protocol. See CURLOPT_DEFAULT_PROTOCOL(3)

## CURLOPT_DIRLISTONLY

List only. See CURLOPT_DIRLISTONLY(3)

## CURLOPT_DISALLOW_USERNAME_IN_URL

Do not allow username in URL. See CURLOPT_DISALLOW_USERNAME_IN_URL(3)

## CURLOPT_DNS_CACHE_TIMEOUT

Timeout for DNS cache. See CURLOPT_DNS_CACHE_TIMEOUT(3)

## CURLOPT_DNS_INTERFACE

Bind name resolves to this interface. See CURLOPT_DNS_INTERFACE(3)

## CURLOPT_DNS_LOCAL_IP4

Bind name resolves to this IP4 address. See CURLOPT_DNS_LOCAL_IP4(3)

## CURLOPT_DNS_LOCAL_IP6

Bind name resolves to this IP6 address. See CURLOPT_DNS_LOCAL_IP6(3)

## CURLOPT_DNS_SERVERS

Preferred DNS servers. See CURLOPT_DNS_SERVERS(3)

## CURLOPT_DNS_SHUFFLE_ADDRESSES

Shuffle addresses before use. See CURLOPT_DNS_SHUFFLE_ADDRESSES(3)

## CURLOPT_DNS_USE_GLOBAL_CACHE

**OBSOLETE** Enable global DNS cache. See CURLOPT_DNS_USE_GLOBAL_CACHE(3)

## CURLOPT_DOH_SSL_VERIFYHOST

Verify the hostname in the DoH (DNS-over-HTTPS) SSL certificate. See
CURLOPT_DOH_SSL_VERIFYHOST(3)

## CURLOPT_DOH_SSL_VERIFYPEER

Verify the DoH (DNS-over-HTTPS) SSL certificate. See
CURLOPT_DOH_SSL_VERIFYPEER(3)

## CURLOPT_DOH_SSL_VERIFYSTATUS

Verify the DoH (DNS-over-HTTPS) SSL certificate's status. See
CURLOPT_DOH_SSL_VERIFYSTATUS(3)

## CURLOPT_DOH_URL

Use this DoH server for name resolves. See CURLOPT_DOH_URL(3)

## CURLOPT_ECH

Set the configuration for ECH. See CURLOPT_ECH(3)

## CURLOPT_EGDSOCKET

**OBSOLETE** Identify EGD socket for entropy. See CURLOPT_EGDSOCKET(3)

## CURLOPT_ERRORBUFFER

Error message buffer. See CURLOPT_ERRORBUFFER(3)

## CURLOPT_EXPECT_100_TIMEOUT_MS

100-continue timeout. See CURLOPT_EXPECT_100_TIMEOUT_MS(3)

## CURLOPT_FAILONERROR

Fail on HTTP 4xx errors. CURLOPT_FAILONERROR(3)

## CURLOPT_FILETIME

Request file modification date and time. See CURLOPT_FILETIME(3)

## CURLOPT_FNMATCH_DATA

Data pointer to pass to the wildcard matching callback. See
CURLOPT_FNMATCH_DATA(3)

## CURLOPT_FNMATCH_FUNCTION

Callback for wildcard matching. See CURLOPT_FNMATCH_FUNCTION(3)

## CURLOPT_FOLLOWLOCATION

Follow HTTP redirects. See CURLOPT_FOLLOWLOCATION(3)

## CURLOPT_FORBID_REUSE

Prevent subsequent connections from reusing this. See CURLOPT_FORBID_REUSE(3)

## CURLOPT_FRESH_CONNECT

Use a new connection. CURLOPT_FRESH_CONNECT(3)

## CURLOPT_FTPPORT

Use active FTP. See CURLOPT_FTPPORT(3)

## CURLOPT_FTPSSLAUTH

Control how to do TLS. See CURLOPT_FTPSSLAUTH(3)

## CURLOPT_FTP_ACCOUNT

Send ACCT command. See CURLOPT_FTP_ACCOUNT(3)

## CURLOPT_FTP_ALTERNATIVE_TO_USER

Alternative to USER. See CURLOPT_FTP_ALTERNATIVE_TO_USER(3)

## CURLOPT_FTP_CREATE_MISSING_DIRS

Create missing directories on the remote server. See
CURLOPT_FTP_CREATE_MISSING_DIRS(3)

## CURLOPT_FTP_FILEMETHOD

Specify how to reach files. See CURLOPT_FTP_FILEMETHOD(3)

## CURLOPT_FTP_SKIP_PASV_IP

Ignore the IP address in the PASV response. See CURLOPT_FTP_SKIP_PASV_IP(3)

## CURLOPT_FTP_SSL_CCC

Back to non-TLS again after authentication. See CURLOPT_FTP_SSL_CCC(3)

## CURLOPT_FTP_USE_EPRT

Use EPRT. See CURLOPT_FTP_USE_EPRT(3)

## CURLOPT_FTP_USE_EPSV

Use EPSV. See CURLOPT_FTP_USE_EPSV(3)

## CURLOPT_FTP_USE_PRET

Use PRET. See CURLOPT_FTP_USE_PRET(3)

## CURLOPT_GSSAPI_DELEGATION

Disable GSS-API delegation. See CURLOPT_GSSAPI_DELEGATION(3)

## CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS

Timeout for happy eyeballs. See CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS(3)

## CURLOPT_HAPROXYPROTOCOL

Send an HAProxy PROXY protocol v1 header. See CURLOPT_HAPROXYPROTOCOL(3)

## CURLOPT_HAPROXY_CLIENT_IP

Spoof the client IP in an HAProxy PROXY protocol v1 header. See
CURLOPT_HAPROXY_CLIENT_IP(3)

## CURLOPT_HEADER

Include the header in the body output. See CURLOPT_HEADER(3)

## CURLOPT_HEADERDATA

Data pointer to pass to the header callback. See CURLOPT_HEADERDATA(3)

## CURLOPT_HEADERFUNCTION

Callback for writing received headers. See CURLOPT_HEADERFUNCTION(3)

## CURLOPT_HEADEROPT

Control custom headers. See CURLOPT_HEADEROPT(3)

## CURLOPT_HSTS

Set HSTS cache file. See CURLOPT_HSTS(3)

## CURLOPT_HSTSREADDATA

Pass pointer to the HSTS read callback. See CURLOPT_HSTSREADDATA(3)

## CURLOPT_HSTSREADFUNCTION

Set HSTS read callback. See CURLOPT_HSTSREADFUNCTION(3)

## CURLOPT_HSTSWRITEDATA

Pass pointer to the HSTS write callback. See CURLOPT_HSTSWRITEDATA(3)

## CURLOPT_HSTSWRITEFUNCTION

Set HSTS write callback. See CURLOPT_HSTSWRITEFUNCTION(3)

## CURLOPT_HSTS_CTRL

Enable HSTS. See CURLOPT_HSTS_CTRL(3)

## CURLOPT_HTTP09_ALLOWED

Allow HTTP/0.9 responses. CURLOPT_HTTP09_ALLOWED(3)

## CURLOPT_HTTP200ALIASES

Alternative versions of 200 OK. See CURLOPT_HTTP200ALIASES(3)

## CURLOPT_HTTPAUTH

HTTP server authentication methods. See CURLOPT_HTTPAUTH(3)

## CURLOPT_HTTPGET

Do an HTTP GET request. See CURLOPT_HTTPGET(3)

## CURLOPT_HTTPHEADER

Custom HTTP headers. See CURLOPT_HTTPHEADER(3)

## CURLOPT_HTTPPOST

**Deprecated option** Multipart formpost HTTP POST.
See CURLOPT_HTTPPOST(3)

## CURLOPT_HTTPPROXYTUNNEL

Tunnel through the HTTP proxy. CURLOPT_HTTPPROXYTUNNEL(3)

## CURLOPT_HTTP_CONTENT_DECODING

Disable Content decoding. See CURLOPT_HTTP_CONTENT_DECODING(3)

## CURLOPT_HTTP_TRANSFER_DECODING

Disable Transfer decoding. See CURLOPT_HTTP_TRANSFER_DECODING(3)

## CURLOPT_HTTP_VERSION

HTTP version to use. CURLOPT_HTTP_VERSION(3)

## CURLOPT_IGNORE_CONTENT_LENGTH

Ignore Content-Length. See CURLOPT_IGNORE_CONTENT_LENGTH(3)

## CURLOPT_INFILESIZE

Size of file to send. CURLOPT_INFILESIZE(3)

## CURLOPT_INFILESIZE_LARGE

Size of file to send. CURLOPT_INFILESIZE_LARGE(3)

## CURLOPT_INTERFACE

Bind connection locally to this. See CURLOPT_INTERFACE(3)

## CURLOPT_INTERLEAVEDATA

Data pointer to pass to the RTSP interleave callback. See
CURLOPT_INTERLEAVEDATA(3)

## CURLOPT_INTERLEAVEFUNCTION

Callback for RTSP interleaved data. See CURLOPT_INTERLEAVEFUNCTION(3)

## CURLOPT_IOCTLDATA

**Deprecated option** Data pointer to pass to the I/O callback.
See CURLOPT_IOCTLDATA(3)

## CURLOPT_IOCTLFUNCTION

**Deprecated option** Callback for I/O operations.
See CURLOPT_IOCTLFUNCTION(3)

## CURLOPT_IPRESOLVE

IP version to use. See CURLOPT_IPRESOLVE(3)

## CURLOPT_ISSUERCERT

Issuer certificate. See CURLOPT_ISSUERCERT(3)

## CURLOPT_ISSUERCERT_BLOB

Issuer certificate memory buffer. See CURLOPT_ISSUERCERT_BLOB(3)

## CURLOPT_KEEP_SENDING_ON_ERROR

Keep sending on HTTP \>= 300 errors. CURLOPT_KEEP_SENDING_ON_ERROR(3)

## CURLOPT_KEYPASSWD

Client key password. See CURLOPT_KEYPASSWD(3)

## CURLOPT_KRBLEVEL

Kerberos security level. See CURLOPT_KRBLEVEL(3)

## CURLOPT_LOCALPORT

Bind connection locally to this port. See CURLOPT_LOCALPORT(3)

## CURLOPT_LOCALPORTRANGE

Bind connection locally to port range. See CURLOPT_LOCALPORTRANGE(3)

## CURLOPT_LOGIN_OPTIONS

Login options. See CURLOPT_LOGIN_OPTIONS(3)

## CURLOPT_LOW_SPEED_LIMIT

Low speed limit to abort transfer. See CURLOPT_LOW_SPEED_LIMIT(3)

## CURLOPT_LOW_SPEED_TIME

Time to be below the speed to trigger low speed abort. See
CURLOPT_LOW_SPEED_TIME(3)

## CURLOPT_MAIL_AUTH

Authentication address. See CURLOPT_MAIL_AUTH(3)

## CURLOPT_MAIL_FROM

Address of the sender. See CURLOPT_MAIL_FROM(3)

## CURLOPT_MAIL_RCPT

Address of the recipients. See CURLOPT_MAIL_RCPT(3)

## CURLOPT_MAIL_RCPT_ALLOWFAILS

Allow RCPT TO command to fail for some recipients. See
CURLOPT_MAIL_RCPT_ALLOWFAILS(3)

## CURLOPT_MAXAGE_CONN

Limit the age (idle time) of connections for reuse. See CURLOPT_MAXAGE_CONN(3)

## CURLOPT_MAXCONNECTS

Maximum number of connections in the connection pool. See
CURLOPT_MAXCONNECTS(3)

## CURLOPT_MAXFILESIZE

Maximum file size to get. See CURLOPT_MAXFILESIZE(3)

## CURLOPT_MAXFILESIZE_LARGE

Maximum file size to get. See CURLOPT_MAXFILESIZE_LARGE(3)

## CURLOPT_MAXLIFETIME_CONN

Limit the age (since creation) of connections for reuse. See
CURLOPT_MAXLIFETIME_CONN(3)

## CURLOPT_MAXREDIRS

Maximum number of redirects to follow. See CURLOPT_MAXREDIRS(3)

## CURLOPT_MAX_RECV_SPEED_LARGE

Cap the download speed to this. See CURLOPT_MAX_RECV_SPEED_LARGE(3)

## CURLOPT_MAX_SEND_SPEED_LARGE

Cap the upload speed to this. See CURLOPT_MAX_SEND_SPEED_LARGE(3)

## CURLOPT_MIMEPOST

Post/send MIME data. See CURLOPT_MIMEPOST(3)

## CURLOPT_MIME_OPTIONS

Set MIME option flags. See CURLOPT_MIME_OPTIONS(3)

## CURLOPT_NETRC

Enable .netrc parsing. See CURLOPT_NETRC(3)

## CURLOPT_NETRC_FILE

.netrc filename. See CURLOPT_NETRC_FILE(3)

## CURLOPT_NEW_DIRECTORY_PERMS

Mode for creating new remote directories. See CURLOPT_NEW_DIRECTORY_PERMS(3)

## CURLOPT_NEW_FILE_PERMS

Mode for creating new remote files. See CURLOPT_NEW_FILE_PERMS(3)

## CURLOPT_NOBODY

Do not get the body contents. See CURLOPT_NOBODY(3)

## CURLOPT_NOPROGRESS

Shut off the progress meter. See CURLOPT_NOPROGRESS(3)

## CURLOPT_NOPROXY

Filter out hosts from proxy use. CURLOPT_NOPROXY(3)

## CURLOPT_NOSIGNAL

Do not install signal handlers. See CURLOPT_NOSIGNAL(3)

## CURLOPT_OPENSOCKETDATA

Data pointer to pass to the open socket callback. See CURLOPT_OPENSOCKETDATA(3)

## CURLOPT_OPENSOCKETFUNCTION

Callback for socket creation. See CURLOPT_OPENSOCKETFUNCTION(3)

## CURLOPT_PASSWORD

Password. See CURLOPT_PASSWORD(3)

## CURLOPT_PATH_AS_IS

Disable squashing /../ and /./ sequences in the path. See CURLOPT_PATH_AS_IS(3)

## CURLOPT_PINNEDPUBLICKEY

Set pinned SSL public key . See CURLOPT_PINNEDPUBLICKEY(3)

## CURLOPT_PIPEWAIT

Wait on connection to pipeline on it. See CURLOPT_PIPEWAIT(3)

## CURLOPT_PORT

Port number to connect to. See CURLOPT_PORT(3)

## CURLOPT_POST

Make an HTTP POST. See CURLOPT_POST(3)

## CURLOPT_POSTFIELDSIZE

The POST data is this big. See CURLOPT_POSTFIELDSIZE(3)

## CURLOPT_POSTFIELDSIZE_LARGE

The POST data is this big. See CURLOPT_POSTFIELDSIZE_LARGE(3)

## CURLOPT_POSTQUOTE

Commands to run after transfer. See CURLOPT_POSTQUOTE(3)

## CURLOPT_POSTREDIR

How to act on redirects after POST. See CURLOPT_POSTREDIR(3)

## CURLOPT_PREQUOTE

Commands to run just before transfer. See CURLOPT_PREQUOTE(3)

## CURLOPT_PREREQDATA

Data pointer to pass to the CURLOPT_PREREQFUNCTION callback. See
CURLOPT_PREREQDATA(3)

## CURLOPT_PREREQFUNCTION

Callback to be called after a connection is established but before a request
is made on that connection. See CURLOPT_PREREQFUNCTION(3)

## CURLOPT_PRE_PROXY

Socks proxy to use. See CURLOPT_PRE_PROXY(3)

## CURLOPT_PRIVATE

Private pointer to store. See CURLOPT_PRIVATE(3)

## CURLOPT_PROGRESSDATA

Data pointer to pass to the progress meter callback. See
CURLOPT_PROGRESSDATA(3)

## CURLOPT_PROGRESSFUNCTION

**OBSOLETE** callback for progress meter. See CURLOPT_PROGRESSFUNCTION(3)

## CURLOPT_PROTOCOLS

**Deprecated option** Allowed protocols. See CURLOPT_PROTOCOLS(3)

## CURLOPT_PROTOCOLS_STR

Allowed protocols. See CURLOPT_PROTOCOLS_STR(3)

## CURLOPT_PROXY

Proxy to use. See CURLOPT_PROXY(3)

## CURLOPT_PROXYAUTH

HTTP proxy authentication methods. See CURLOPT_PROXYAUTH(3)

## CURLOPT_PROXYHEADER

Custom HTTP headers sent to proxy. See CURLOPT_PROXYHEADER(3)

## CURLOPT_PROXYPASSWORD

Proxy password. See CURLOPT_PROXYPASSWORD(3)

## CURLOPT_PROXYPORT

Proxy port to use. See CURLOPT_PROXYPORT(3)

## CURLOPT_PROXYTYPE

Proxy type. See CURLOPT_PROXYTYPE(3)

## CURLOPT_PROXYUSERNAME
Proxy username. See CURLOPT_PROXYUSERNAME(3)

## CURLOPT_PROXYUSERPWD

Proxy username and password. See CURLOPT_PROXYUSERPWD(3)

## CURLOPT_PROXY_CAINFO

Proxy CA cert bundle. See CURLOPT_PROXY_CAINFO(3)

## CURLOPT_PROXY_CAINFO_BLOB

Proxy CA cert bundle memory buffer. See CURLOPT_PROXY_CAINFO_BLOB(3)

## CURLOPT_PROXY_CAPATH

Path to proxy CA cert bundle. See CURLOPT_PROXY_CAPATH(3)

## CURLOPT_PROXY_CRLFILE

Proxy Certificate Revocation List. See CURLOPT_PROXY_CRLFILE(3)

## CURLOPT_PROXY_ISSUERCERT

Proxy issuer certificate. See CURLOPT_PROXY_ISSUERCERT(3)

## CURLOPT_PROXY_ISSUERCERT_BLOB

Proxy issuer certificate memory buffer. See CURLOPT_PROXY_ISSUERCERT_BLOB(3)

## CURLOPT_PROXY_KEYPASSWD

Proxy client key password. See CURLOPT_PROXY_KEYPASSWD(3)

## CURLOPT_PROXY_PINNEDPUBLICKEY

Set the proxy's pinned SSL public key. See
CURLOPT_PROXY_PINNEDPUBLICKEY(3)

## CURLOPT_PROXY_SERVICE_NAME

Proxy authentication service name. CURLOPT_PROXY_SERVICE_NAME(3)

## CURLOPT_PROXY_SSLCERT

Proxy client cert. See CURLOPT_PROXY_SSLCERT(3)

## CURLOPT_PROXY_SSLCERTTYPE

Proxy client cert type. See CURLOPT_PROXY_SSLCERTTYPE(3)

## CURLOPT_PROXY_SSLCERT_BLOB

Proxy client cert memory buffer. See CURLOPT_PROXY_SSLCERT_BLOB(3)

## CURLOPT_PROXY_SSLKEY

Proxy client key. See CURLOPT_PROXY_SSLKEY(3)

## CURLOPT_PROXY_SSLKEYTYPE

Proxy client key type. See CURLOPT_PROXY_SSLKEYTYPE(3)

## CURLOPT_PROXY_SSLKEY_BLOB

Proxy client key. See CURLOPT_PROXY_SSLKEY_BLOB(3)

## CURLOPT_PROXY_SSLVERSION

Proxy SSL version to use. See CURLOPT_PROXY_SSLVERSION(3)

## CURLOPT_PROXY_SSL_CIPHER_LIST

Proxy ciphers to use. See CURLOPT_PROXY_SSL_CIPHER_LIST(3)

## CURLOPT_PROXY_SSL_OPTIONS

Control proxy SSL behavior. See CURLOPT_PROXY_SSL_OPTIONS(3)

## CURLOPT_PROXY_SSL_VERIFYHOST

Verify the hostname in the proxy SSL certificate. See
CURLOPT_PROXY_SSL_VERIFYHOST(3)

## CURLOPT_PROXY_SSL_VERIFYPEER

Verify the proxy SSL certificate. See CURLOPT_PROXY_SSL_VERIFYPEER(3)

## CURLOPT_PROXY_TLS13_CIPHERS

Proxy TLS 1.3 cipher suites to use. See CURLOPT_PROXY_TLS13_CIPHERS(3)

## CURLOPT_PROXY_TLSAUTH_PASSWORD

Proxy TLS authentication password. See CURLOPT_PROXY_TLSAUTH_PASSWORD(3)

## CURLOPT_PROXY_TLSAUTH_TYPE

Proxy TLS authentication methods. See CURLOPT_PROXY_TLSAUTH_TYPE(3)

## CURLOPT_PROXY_TLSAUTH_USERNAME

Proxy TLS authentication username. See CURLOPT_PROXY_TLSAUTH_USERNAME(3)

## CURLOPT_PROXY_TRANSFER_MODE

Add transfer mode to URL over proxy. See CURLOPT_PROXY_TRANSFER_MODE(3)

## CURLOPT_PUT

**Deprecated option** Issue an HTTP PUT request. See CURLOPT_PUT(3)

## CURLOPT_QUICK_EXIT

To be set by toplevel tools like "curl" to skip lengthy cleanups when they are
about to call exit() anyway. See CURLOPT_QUICK_EXIT(3)

## CURLOPT_QUOTE

Commands to run before transfer. See CURLOPT_QUOTE(3)

## CURLOPT_RANDOM_FILE

**OBSOLETE** Provide source for entropy random data.
See CURLOPT_RANDOM_FILE(3)

## CURLOPT_RANGE

Range requests. See CURLOPT_RANGE(3)

## CURLOPT_READDATA

Data pointer to pass to the read callback. See CURLOPT_READDATA(3)

## CURLOPT_READFUNCTION

Callback for reading data. See CURLOPT_READFUNCTION(3)

## CURLOPT_REDIR_PROTOCOLS

**Deprecated option** Protocols to allow redirects to. See
CURLOPT_REDIR_PROTOCOLS(3)

## CURLOPT_REDIR_PROTOCOLS_STR

Protocols to allow redirects to. See CURLOPT_REDIR_PROTOCOLS_STR(3)

## CURLOPT_REFERER

Referer: header. See CURLOPT_REFERER(3)

## CURLOPT_REQUEST_TARGET

Set the request target. CURLOPT_REQUEST_TARGET(3)

## CURLOPT_RESOLVE

Provide fixed/fake name resolves. See CURLOPT_RESOLVE(3)

## CURLOPT_RESOLVER_START_DATA

Data pointer to pass to resolver start callback. See
CURLOPT_RESOLVER_START_DATA(3)

## CURLOPT_RESOLVER_START_FUNCTION

Callback to be called before a new resolve request is started. See
CURLOPT_RESOLVER_START_FUNCTION(3)

## CURLOPT_RESUME_FROM

Resume a transfer. See CURLOPT_RESUME_FROM(3)

## CURLOPT_RESUME_FROM_LARGE

Resume a transfer. See CURLOPT_RESUME_FROM_LARGE(3)

## CURLOPT_RTSP_CLIENT_CSEQ

Client CSEQ number. See CURLOPT_RTSP_CLIENT_CSEQ(3)

## CURLOPT_RTSP_REQUEST

RTSP request. See CURLOPT_RTSP_REQUEST(3)

## CURLOPT_RTSP_SERVER_CSEQ

CSEQ number for RTSP Server-\>Client request. See CURLOPT_RTSP_SERVER_CSEQ(3)

## CURLOPT_RTSP_SESSION_ID

RTSP session-id. See CURLOPT_RTSP_SESSION_ID(3)

## CURLOPT_RTSP_STREAM_URI

RTSP stream URI. See CURLOPT_RTSP_STREAM_URI(3)

## CURLOPT_RTSP_TRANSPORT

RTSP Transport: header. See CURLOPT_RTSP_TRANSPORT(3)

## CURLOPT_SASL_AUTHZID

SASL authorization identity (identity to act as). See CURLOPT_SASL_AUTHZID(3)

## CURLOPT_SASL_IR

Enable SASL initial response. See CURLOPT_SASL_IR(3)

## CURLOPT_SEEKDATA

Data pointer to pass to the seek callback. See CURLOPT_SEEKDATA(3)

## CURLOPT_SEEKFUNCTION

Callback for seek operations. See CURLOPT_SEEKFUNCTION(3)

## CURLOPT_SERVER_RESPONSE_TIMEOUT

Timeout for server responses. See CURLOPT_SERVER_RESPONSE_TIMEOUT(3)

## CURLOPT_SERVER_RESPONSE_TIMEOUT_MS

Timeout for server responses. See CURLOPT_SERVER_RESPONSE_TIMEOUT_MS(3)

## CURLOPT_SERVICE_NAME

Authentication service name. CURLOPT_SERVICE_NAME(3)

## CURLOPT_SHARE

Share object to use. See CURLOPT_SHARE(3)

## CURLOPT_SOCKOPTDATA

Data pointer to pass to the sockopt callback. See CURLOPT_SOCKOPTDATA(3)

## CURLOPT_SOCKOPTFUNCTION

Callback for sockopt operations. See CURLOPT_SOCKOPTFUNCTION(3)

## CURLOPT_SOCKS5_AUTH

Socks5 authentication methods. See CURLOPT_SOCKS5_AUTH(3)

## CURLOPT_SOCKS5_GSSAPI_NEC

Socks5 GSSAPI NEC mode. See CURLOPT_SOCKS5_GSSAPI_NEC(3)

## CURLOPT_SOCKS5_GSSAPI_SERVICE

**Deprecated option** Socks5 GSSAPI service name.
See CURLOPT_SOCKS5_GSSAPI_SERVICE(3)

## CURLOPT_SSH_AUTH_TYPES

SSH authentication types. See CURLOPT_SSH_AUTH_TYPES(3)

## CURLOPT_SSH_COMPRESSION

Enable SSH compression. See CURLOPT_SSH_COMPRESSION(3)

## CURLOPT_SSH_HOSTKEYDATA

Custom pointer to pass to ssh host key callback. See CURLOPT_SSH_HOSTKEYDATA(3)

## CURLOPT_SSH_HOSTKEYFUNCTION

Callback for checking host key handling. See CURLOPT_SSH_HOSTKEYFUNCTION(3)

## CURLOPT_SSH_HOST_PUBLIC_KEY_MD5

MD5 of host's public key. See CURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3)

## CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256

SHA256 of host's public key. See CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256(3)

## CURLOPT_SSH_KEYDATA

Custom pointer to pass to ssh key callback. See CURLOPT_SSH_KEYDATA(3)

## CURLOPT_SSH_KEYFUNCTION

Callback for known hosts handling. See CURLOPT_SSH_KEYFUNCTION(3)

## CURLOPT_SSH_KNOWNHOSTS

Filename with known hosts. See CURLOPT_SSH_KNOWNHOSTS(3)

## CURLOPT_SSH_PRIVATE_KEYFILE

Filename of the private key. See CURLOPT_SSH_PRIVATE_KEYFILE(3)

## CURLOPT_SSH_PUBLIC_KEYFILE

Filename of the public key. See CURLOPT_SSH_PUBLIC_KEYFILE(3)

## CURLOPT_SSLCERT

Client cert. See CURLOPT_SSLCERT(3)

## CURLOPT_SSLCERTTYPE

Client cert type. See CURLOPT_SSLCERTTYPE(3)

## CURLOPT_SSLCERT_BLOB

Client cert memory buffer. See CURLOPT_SSLCERT_BLOB(3)

## CURLOPT_SSLENGINE

Use identifier with SSL engine. See CURLOPT_SSLENGINE(3)

## CURLOPT_SSLENGINE_DEFAULT

Default SSL engine. See CURLOPT_SSLENGINE_DEFAULT(3)

## CURLOPT_SSLKEY

Client key. See CURLOPT_SSLKEY(3)

## CURLOPT_SSLKEYTYPE

Client key type. See CURLOPT_SSLKEYTYPE(3)

## CURLOPT_SSLKEY_BLOB

Client key memory buffer. See CURLOPT_SSLKEY_BLOB(3)

## CURLOPT_SSLVERSION

SSL version to use. See CURLOPT_SSLVERSION(3)

## CURLOPT_SSL_CIPHER_LIST

Ciphers to use. See CURLOPT_SSL_CIPHER_LIST(3)

## CURLOPT_SSL_CTX_DATA

Data pointer to pass to the SSL context callback. See CURLOPT_SSL_CTX_DATA(3)

## CURLOPT_SSL_CTX_FUNCTION

Callback for SSL context logic. See CURLOPT_SSL_CTX_FUNCTION(3)

## CURLOPT_SSL_EC_CURVES

Set key exchange curves. See CURLOPT_SSL_EC_CURVES(3)

## CURLOPT_SSL_ENABLE_ALPN

Enable use of ALPN. See CURLOPT_SSL_ENABLE_ALPN(3)

## CURLOPT_SSL_ENABLE_NPN

**OBSOLETE** Enable use of NPN. See CURLOPT_SSL_ENABLE_NPN(3)

## CURLOPT_SSL_FALSESTART

**Deprecated option** Enable TLS False Start. See CURLOPT_SSL_FALSESTART(3)

## CURLOPT_SSL_OPTIONS

Control SSL behavior. See CURLOPT_SSL_OPTIONS(3)

## CURLOPT_SSL_SESSIONID_CACHE

Disable SSL session-id cache. See CURLOPT_SSL_SESSIONID_CACHE(3)

## CURLOPT_SSL_SIGNATURE_ALGORITHMS

TLS signature algorithms to use. See CURLOPT_SSL_SIGNATURE_ALGORITHMS(3)

## CURLOPT_SSL_VERIFYHOST

Verify the hostname in the SSL certificate. See CURLOPT_SSL_VERIFYHOST(3)

## CURLOPT_SSL_VERIFYPEER

Verify the SSL certificate. See CURLOPT_SSL_VERIFYPEER(3)

## CURLOPT_SSL_VERIFYSTATUS

Verify the SSL certificate's status. See CURLOPT_SSL_VERIFYSTATUS(3)

## CURLOPT_STDERR

Redirect stderr to another stream. See CURLOPT_STDERR(3)

## CURLOPT_STREAM_DEPENDS

This HTTP/2 stream depends on another. See CURLOPT_STREAM_DEPENDS(3)

## CURLOPT_STREAM_DEPENDS_E

This HTTP/2 stream depends on another exclusively. See
CURLOPT_STREAM_DEPENDS_E(3)

## CURLOPT_STREAM_WEIGHT

Set this HTTP/2 stream's weight. See CURLOPT_STREAM_WEIGHT(3)

## CURLOPT_SUPPRESS_CONNECT_HEADERS

Suppress proxy CONNECT response headers from user callbacks. See
CURLOPT_SUPPRESS_CONNECT_HEADERS(3)

## CURLOPT_TCP_FASTOPEN

Enable TCP Fast Open. See CURLOPT_TCP_FASTOPEN(3)

## CURLOPT_TCP_KEEPALIVE

Enable TCP keep-alive. See CURLOPT_TCP_KEEPALIVE(3)

## CURLOPT_TCP_KEEPCNT

Maximum number of keep-alive probes. See CURLOPT_TCP_KEEPCNT(3)

## CURLOPT_TCP_KEEPIDLE

Idle time before sending keep-alive. See CURLOPT_TCP_KEEPIDLE(3)

## CURLOPT_TCP_KEEPINTVL

Interval between keep-alive probes. See CURLOPT_TCP_KEEPINTVL(3)

## CURLOPT_TCP_NODELAY

Disable the Nagle algorithm. See CURLOPT_TCP_NODELAY(3)

## CURLOPT_TELNETOPTIONS

TELNET options. See CURLOPT_TELNETOPTIONS(3)

## CURLOPT_TFTP_BLKSIZE

TFTP block size. See CURLOPT_TFTP_BLKSIZE(3)

## CURLOPT_TFTP_NO_OPTIONS

Do not send TFTP options requests. See CURLOPT_TFTP_NO_OPTIONS(3)

## CURLOPT_TIMECONDITION

Make a time conditional request. See CURLOPT_TIMECONDITION(3)

## CURLOPT_TIMEOUT

Timeout for the entire request. See CURLOPT_TIMEOUT(3)

## CURLOPT_TIMEOUT_MS

Millisecond timeout for the entire request. See CURLOPT_TIMEOUT_MS(3)

## CURLOPT_TIMEVALUE

Time value for the time conditional request. See CURLOPT_TIMEVALUE(3)

## CURLOPT_TIMEVALUE_LARGE

Time value for the time conditional request. See CURLOPT_TIMEVALUE_LARGE(3)

## CURLOPT_TLS13_CIPHERS

TLS 1.3 cipher suites to use. See CURLOPT_TLS13_CIPHERS(3)

## CURLOPT_TLSAUTH_PASSWORD

TLS authentication password. See CURLOPT_TLSAUTH_PASSWORD(3)

## CURLOPT_TLSAUTH_TYPE

TLS authentication methods. See CURLOPT_TLSAUTH_TYPE(3)

## CURLOPT_TLSAUTH_USERNAME

TLS authentication username. See CURLOPT_TLSAUTH_USERNAME(3)

## CURLOPT_TRAILERDATA

Custom pointer passed to the trailing headers callback. See
CURLOPT_TRAILERDATA(3)

## CURLOPT_TRAILERFUNCTION

Set callback for sending trailing headers. See
CURLOPT_TRAILERFUNCTION(3)

## CURLOPT_TRANSFERTEXT

Use text transfer. See CURLOPT_TRANSFERTEXT(3)

## CURLOPT_TRANSFER_ENCODING

Request Transfer-Encoding. See CURLOPT_TRANSFER_ENCODING(3)

## CURLOPT_UNIX_SOCKET_PATH

Path to a Unix domain socket. See CURLOPT_UNIX_SOCKET_PATH(3)

## CURLOPT_UNRESTRICTED_AUTH

Do not restrict authentication to original host. CURLOPT_UNRESTRICTED_AUTH(3)

## CURLOPT_UPKEEP_INTERVAL_MS

Sets the interval at which connection upkeep are performed. See
CURLOPT_UPKEEP_INTERVAL_MS(3)

## CURLOPT_UPLOAD

Upload data. See CURLOPT_UPLOAD(3)

## CURLOPT_UPLOAD_BUFFERSIZE

Set upload buffer size. See CURLOPT_UPLOAD_BUFFERSIZE(3)

## CURLOPT_UPLOAD_FLAGS

Set upload flags. See CURLOPT_UPLOAD_FLAGS(3)

## CURLOPT_URL

URL to work on. See CURLOPT_URL(3)

## CURLOPT_USERAGENT

User-Agent: header. See CURLOPT_USERAGENT(3)

## CURLOPT_USERNAME

Username. See CURLOPT_USERNAME(3)

## CURLOPT_USERPWD

Username and password. See CURLOPT_USERPWD(3)

## CURLOPT_USE_SSL

Use TLS/SSL. See CURLOPT_USE_SSL(3)

## CURLOPT_VERBOSE

Display verbose information. See CURLOPT_VERBOSE(3)

## CURLOPT_WILDCARDMATCH

Transfer multiple files according to a filename pattern. See
CURLOPT_WILDCARDMATCH(3)

## CURLOPT_WRITEDATA

Data pointer to pass to the write callback. See CURLOPT_WRITEDATA(3)

## CURLOPT_WRITEFUNCTION

Callback for writing data. See CURLOPT_WRITEFUNCTION(3)

## CURLOPT_WS_OPTIONS

Set WebSocket options. See CURLOPT_WS_OPTIONS(3)

## CURLOPT_XFERINFODATA

Data pointer to pass to the progress meter callback. See
CURLOPT_XFERINFODATA(3)

## CURLOPT_XFERINFOFUNCTION

Callback for progress meter. See CURLOPT_XFERINFOFUNCTION(3)

## CURLOPT_XOAUTH2_BEARER

OAuth2 bearer token. See CURLOPT_XOAUTH2_BEARER(3)

# %PROTOCOLS%

# EXAMPLE

~~~c
int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode res;
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
    res = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
  }
}
~~~

# %AVAILABILITY%

# RETURN VALUE

This function returns a CURLcode indicating success or error.

CURLE_OK (0) means everything was OK, non-zero means an error occurred, see
libcurl-errors(3). If CURLOPT_ERRORBUFFER(3) was set with curl_easy_setopt(3)
there can be an error message stored in the error buffer when non-zero is
returned.

Strings passed on to libcurl must be shorter than 8000000 bytes, otherwise
curl_easy_setopt(3) returns **CURLE_BAD_FUNCTION_ARGUMENT** (added in 7.65.0).

**CURLE_BAD_FUNCTION_ARGUMENT** is returned when the argument to an option is
invalid, like perhaps out of range.

If you try to set an option that libcurl does not know about, perhaps because
the library is too old to support it or the option was removed in a recent
version, this function returns *CURLE_UNKNOWN_OPTION*. If support for the
option was disabled at compile-time, it returns *CURLE_NOT_BUILT_IN*.