This was my resolution to the issue.
The "internal error: http" message means simply that ConfirmEdit failed to execute an http request against the Google servers, which could happen for a number of reasons. The MW and PHP logs don't seem to be helpful in determining why. If you save the following as a PHP script on your web site and browse to it, it will execute an http request, similar to how ConfirmEdit tries to do, and return the result of curl_error() which should give more detailed error information:
<html>
<head>
<title> cURL Test Script </title>
</head>
<body>
<?php
$Url='https://wtfismyip.com/text';
if (!function_exists('curl_init'))
{
print 'cURL not installed';
}
else
{
$ch = curl_init($Url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
if(curl_exec($ch)) { print 'OK';}
else { print curl_error($ch);}
curl_close($ch);
}
?>
</body>
</html>
In my case, the error was "SSL certificate problem: unable to get local issuer certificate". It turns out this is because a default PHP install (at least on Windows) doesn't have access to any trusted root certificates, so can't validate SSL connections. The fix was to download a set of root certificates provided by the cURL project at https://curl.haxx.se/docs/caextract.html, and add the following to php.ini:
[curl]
curl.cainfo = C:\SomeFolder\cacert.pem