MATLAB: Problem with HttpUrlConnection after migration to Windows 7 from MATLAB R2010+

windows 7 httpurlconnection

I recently upgraded from Windows XP to Windows 7, and software I was using to read data from web sites doesn't work now. I'm using something like:
>> site_or_html_filename=java.lang.String('http://www.google.com');
>> my_url = java.net.URL(site_or_html_filename);
>> connection = my_url.openConnection();
>> connection.setConnectTimeout(0);
>> connection.setDoOutput(true);
>> in = connection.getInputStream();
??? Java exception occurred: java.net.ConnectException: Connection timed out: connect
Note that I'm calling a Java class that does the above, and the class includes a trust manager that does not validate certificate chains. This worked fine in Windows XP, but I can't get it to work in Windows 7. I've disabled the firewall, so I don't think that's the issue. I've also tried setting System properties proxySet,proxyPort and proxyHost to no avail. Can anybody help?

Best Answer

It turns out that what MATLAB is returning for the connection is ice.net.HttpURLConnection, which doesn't complete the connection, while sun.net.www.protocol.http.HttpURLConnection will. Adding the following fixed the Connect timeout problem:
% This version is needed on Windows 7 handler = sun.net.www.protocol.http.Handler;
my_url = java.net.URL([],site_name,handler);
% This version works on Windows XP, but won't work on Windows 7
% my_url=java.net.URL(site_name);