CURLOPT_DISALLOW_USERNAME_IN_URL(3)

CURLOPT_DISALLOW_USERNAME_IN_URL3

Disallow specifying username in the url

Usage

#include <curl/curl.h>
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DISALLOW_USERNAME_IN_URL,
                          long disallow);

Overview

A long parameter set to 1 tells the library to not allow URLs set with CURLOPT_URL(3) that include a username.

This is the equivalent to the CURLU_DISALLOW_USER flag for the curl_url_set(3) function.

Note that this option does not affect URLs set with CURLOPT_CURLU(3).

Default

0 (disabled)

Protocols

This functionality affects all supported protocols

Examples

int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode result;
    curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
    curl_easy_setopt(curl, CURLOPT_DISALLOW_USERNAME_IN_URL, 1L);
    result = curl_easy_perform(curl);
    curl_easy_cleanup(curl);
  }
}

Return value

curl_easy_setopt(3) returns a CURLcode indicating success or error.

CURLE_OK (0) means everything was OK, non-zero means an error occurred, see libcurl-errors(3).

curl_easy_perform(3) returns CURLE_LOGIN_DENIED if this option is enabled and a URL containing a username is specified.

Releases

5 releases since Debian 10 (Buster); the text changed 4 times.

  1. 10
  2. 11
  3. 12
  4. 13
  5. Arch

Availability

Added in curl 7.61.0

From curl 8.23.0-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.