GoDaddy, cURL, HTTP, and 403 Errors

By  on  

I was recently coding PHP cURL functionality for a GoDaddy-hosted website and I kept running into an annoying 403 error. Essentially, GoDaddy's proxy server (which they force you to use for cURL) was giving me a "Forbidden" error and wasn't trying to hit the necessary server. Here's the code that GoDaddy tells you to use for cURL transactions:

$URL='https://www.paypal.com';
$ch = curl_init();
echo 'URL = $URL <br>n';
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);
echo '<hr><br>n';
echo 'Errors: ' . curl_errno($ch) . ' ' . curl_error($ch) . '<br><br>';
echo '<hr><br>n';
curl_close ($ch);
print 'result - $result';
echo '<hr><br>n';

The problem is that since I'm not using SSL in this instance, I don't need to use the following cURL option:

curl_setopt($ch,CURLOPT_HTTPPROXYTUNNEL, true);

Remember that if you receive this error from GoDaddy's server. Hopefully I save someone a bunch of time with this.

Recent Features

  • By
    Page Visibility API

    One event that's always been lacking within the document is a signal for when the user is looking at a given tab, or another tab. When does the user switch off our site to look at something else? When do they come back?

  • By
    Responsive and Infinitely Scalable JS Animations

    Back in late 2012 it was not easy to find open source projects using requestAnimationFrame() - this is the hook that allows Javascript code to synchronize with a web browser's native paint loop. Animations using this method can run at 60 fps and deliver fantastic...

Incredible Demos

  • By
    MooTools Equal Heights Plugin:  Equalizer

    Keeping equal heights between elements within the same container can be hugely important for the sake of a pretty page. Unfortunately sometimes keeping columns the same height can't be done with CSS -- you need a little help from your JavaScript friends. Well...now you're...

  • By
    Introducing MooTools LazyLoad

    Once concept I'm very fond of is lazy loading. Lazy loading defers the loading of resources (usually images) until they are needed. Why load stuff you never need if you can prevent it, right? I've created LazyLoad, a customizable MooTools plugin that...

Discussion

  1. Yea Godaddy has some strange settings like this. Plus it seems to be hit or miss when dealing with their support. :(

  2. cURL and GoDaddy

    Searching the GoDaddy FAQ/Help pages, it appears that as of September 10, 2008. GoDaddy is not longer requiring proxy connections to connect with CURL.

    Proxy servers are not required for
    outbound shared hosting connections as
    of September 10, 2008. Although it
    will continue to function after this
    date, we recommend code utilizing
    proxy servers be updated to reflect
    this change.

    http://help.godaddy.com/article/4764

  3. I wouldn’t trust the GoDaddy FAQ.

    It’s horribly outdated.

    I am switching to a VPS from a provider that I’ve known to be reliable, from GoDaddy.

  4. My problem with SSL and POST through CURL alsted 2 days, i am not on GoDaddy but your advice gave me the answers I needed, thankyou so much for bothering to post this!

  5. Hi,

    We are trying to retrieve XML from other server using CURL. But not happening. I have tried the above code. But no result. I am using Godaddy Linux Shared Hosting plan for my website.

    Please give me your suggestions on this.

    Thanks in advance…

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!