On Tue, 7 Jun 2022, Adam Light wrote:
One difference I have found with the new version of libcurl is that if you
set the URL with CURLOPT_CURLU, you must call curl_easy_perform() first
before it's possible to use curl_easy_getinfo() to get the URL (before then
you just get an empty string). However if you set the URL with CURLOPT_URL
you can immediately retrieve it by calling curl_easy_getinfo(). The
CURLINFO_EFFECTIVE_URL documentation says "...and get the last used
effective URL" so the current behavior might still be "right" based on the
documentation, but there is a difference between CURLOPT_URL and
CURLOPT_CURLU.
curl_easy_getinfo() is designed to bring you information about a previous
transfer and CURLINFO_EFFECTIVE_URL is one of those details. The "effective
URL" used in the previous transfer.
If you didn't do any transfer then you can't know what URL it would be!
So, the fact that you actually get any content back at all before you have
performed any transfer I call just pure luck and a circumstance that I
consider an undocumented behavior.
--
/ daniel.haxx.se
| Commercial curl support up to 24x7 is available!
| Private help, bug fixes, support, ports, new features
| https://curl.se/support.html
--
Unsubscribe: https://lists.haxx.se/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html