GoDaddy Hosting Tip – Using CURL On GoDaddy Shared Hosting
I want to throw a quick tip out there to anyone that plans to use cURL on GoDaddy hosting servers. I've been developing a shopping cart and ported the site from my development server to the hosting server. I ran into a huge problem when trying to get the cart to connect to UPS for real-time shipping quotes. What was the problem? The connection between my PHP (GoDaddy Server) and the UPS server wasn't being made.
After a few lifetimes hours of searching, I found the answer. GoDaddy requires additional cURL code to use their proxy server. Below is their example of the code you'll need:
$url = 'https://www.paypal.com'; $ch = curl_init(); curl_setopt($ch,CURLOPT_VERBOSE,1); //curl_setopt($ch,CURLOPT_HTTPPROXYTUNNEL,true); curl_setopt($ch,CURLOPT_PROXYTYPE,CURLPROXY_HTTP); curl_setopt($ch,CURLOPT_PROXY,'http://proxy.shr.secureserver.net:3128'); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_TIMEOUT,120); $result = curl_exec($ch); curl_close($ch);
You can read more here. I know this isn't the usual poetry I post, but one goal with my blog is to save other developers time when possible.
Discussion
Be Heard!
Share your thoughts with fellow developers of all skill levels! I want to hear from you!
Thanks. It solved my problem connecting to authorize.net.
Hi David,
Thought you had save me an mess of heartache when I stumbled upon this post. However, it appears that GoDaddy have changed the way they do things as of 10th Sept 2008.
see http://help.godaddy.com/article/4764
The following code now works fine….. on initial testing anyway.
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, rtrim( $fields, “& ” ));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
But thanks for the thought.
Chris
Thanks! I was looking for a solution to this all last night. Plugged in the code and it worked! Thanks again.
Dear lord! I spent an hour on the phone with GoDaddy and they seem to have no clue that this code exists. Thank you!
@Chris: k tal fijate que tengo este codigo pero no me jala
$query_vals = array(
‘cIdioma’ => ‘Esp’,
‘cCodPosOri’ => $cpOrigen,
‘cCodPosDes’ => $cpDestino,
‘cTipoEnvio’ => $Tipo,
‘nPeso’ => $Peso,
‘nAlto’ => $Alto,
‘nLargo’ => $Largo,
‘nAncho’ => $Ancho,
‘submit’ => ‘Calcular’
);
$request = ”;
// Generate the POST string
foreach($query_vals as $key => $value) {
$request .= $key.’=’.urlencode($value).’&’;
}
// Chop of the trailing ampersand
$request = rtrim($request, ‘&’);
$url=”http://tarifas”;
$ch = curl_init($url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
@Chris: me dices que no reconoce el array