Problem with juce URL on Windows 7


#1

Hello,

We have some customers using Windows 7 and are unable to activate our software. After some searches, we found out that the URL::createInputStream method return nullptr instead of an instance of InputStream. In most cases on mac or Windows 8 / 10 it works though. To get a web result we use a similar code to :

URL url("https://some/url/like/this.php");

std::unique_ptr<WebInputStream> ins(dynamic_cast<WebInputStream*>(
	url.createInputStream(false, nullptr, nullptr, "", timeout)
));

String result;
if(ins) {
	result = ins->readEntireStreamAsString();
	if(result.isEmpty() && (ins->isError())) {
		result = "Error : during the connection";
	}
}
else {
	result = "Error : Unable to create an input stream";
}

What could be the problem ?


#2

There was an issue in some older versions of Windows 7 with loading the SSL libraries causing HTTPSendRequestEx() to fail when connecting to https URLs. I had issues with a Win7 VM failing to connect but after doing an update the problem went away. Can you ask the customers to try upgrading their versions of Windows 7?


#3

Thank you for your answer !

We had found 2 work around, update windows, and enable SSL 2 and 3 in windows internet options, but it’s not really a good solution, because it’s not convenient for customers (if a customer download our demo and it doesn’t work, it will probably not buy it and we just loose a client …)

If the solution could be in our code, or in a juce update it would be amazing !