Skip to the content...

Welcome to the David Walsh Blog. I'm a MooTools, Dojo, jQuery, CSS, and PHP Web Developer located in Madison, Wisconsin, United States. Please contact me if I can make your experience on my website better.

GoDaddy Hosting Tip – Using CURL On GoDaddy Shared Hosting

6 Responses »

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

  1. roberto flores
    February 14, 2008 @ 1:29 am

    Thanks. It solved my problem connecting to authorize.net.

  2. chris
    February 21, 2009 @ 11:55 am

    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

  3. April 27, 2009 @ 5:50 pm

    Thanks! I was looking for a solution to this all last night. Plugged in the code and it worked! Thanks again.

  4. February 18, 2010 @ 2:30 am

    Dear lord! I spent an hour on the phone with GoDaddy and they seem to have no clue that this code exists. Thank you!

  5. juan
    July 13, 2010 @ 1:29 am

    @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);

  6. juan
    July 13, 2010 @ 1:35 am

    @Chris: me dices que no reconoce el array

Be Heard!

Share your thoughts with fellow developers of all skill levels! I want to hear from you!

Name*:
Email*:
Website:  
Wrap your code with <code> tags, f00!