You’re right that it used to be simpler, but thanks to abuse, it’s not anymore. There’s no use complaining about it.
Modern HTTP communication really, really should be done with CURL via MBS or with URLConnection. The original HTTPSocket (and the HTTPSecureSocket) are just Xojo code you could write yourself. They can only handle HTTP 1.0, which more and more servers are deciding to not support. We’re moving into HTTP 3 for the record. As mentioned TLS is also an issue. Servers should not be accepting TLS 1.0 connections anymore, nor any of the SSL versions. You don’t need to worry about this stuff with a socket that can keep up with standards. HTTPSocket is ancient and it’s no surprise you’re running into trouble.
Your options are not fantastic here. URLConnection will be most similar to your existing code. It was designed that way intentionally, but its usage is only similar, not identical. The downside is URLConnection uses system libraries to do its work, which basically means you’ll get a nice reliable socket on macOS, but on Windows… well WinHTTP kind of sucks. CURLNMBS will behave exactly the same on all platforms, but its usage is not similar to HTTPSocket at all and there will be trouble adapting.
URLConnection requiring a newer Xojo may be the deciding factor, but sticking with an old version of anything will not work forever. This may be one of those cases.
Edit: Oh I forgot to mention that HTTPSecureSocket with ConnectionType set to TLSv12 will probably get you connected in the short term. But consider your code on borrowed time. Make a plan for migrating to newer classes so you can make the change on your schedule. If you stay with HTTPSecureSocket, you will be bitten again in the future. It’s only a matter of time, and you don’t want to be scrambling for a fix when it happens.