there's usage of CUrlOptions without using its leading str, so it can be
unspecified, and when unspecified, we trade it as using '?' as leading str
as old code hard coded it.
but give it a chance the 'unspecified' state of the leading str, which is
then used when AddOptions be called:
if leading str is specified, it will check it with input options head, if
matching, it's ok, if not matching but the input options heading with our
separators, it will override the specified one and produce a warning log.
if leading str is unspecified, it will change to use the input options'
head one if there is. this time no warning log