/// <summary> /// URL encode a String. /// </summary> /// <param name="url">The string to URL encode.</param> /// <param name="length">Input string length; /// use 0 for cURL to determine.</param> /// <returns>A new URL encoded string.</returns> /// <exception cref="System.InvalidOperationException"> /// Thrown if cURL isn't properly initialized.</exception> public static string Escape(string url, int length) { EnsureCurl(); IntPtr p = External.curl_escape(url, length); String s = Marshal.PtrToStringAnsi(p); External.curl_free(p); return(s); }