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
    Send Text Messages with PHP

    Kids these days, I tell ya.  All they care about is the technology.  The video games.  The bottled water.  Oh, and the texting, always the texting.  Back in my day, all we had was...OK, I had all of these things too.  But I still don't get...

  • By
    Serving Fonts from CDN

    For maximum performance, we all know we must put our assets on CDN (another domain).  Along with those assets are custom web fonts.  Unfortunately custom web fonts via CDN (or any cross-domain font request) don't work in Firefox or Internet Explorer (correctly so, by spec) though...

Incredible Demos

  • By
    Image Data URIs with PHP

    If you troll page markup like me, you've no doubt seen the use of data URI's within image src attributes. Instead of providing a traditional address to the image, the image file data is base64-encoded and stuffed within the src attribute. Doing so saves...

  • By
    jQuery Random Link Color Animations

    We all know that we can set a link's :hover color, but what if we want to add a bit more dynamism and flair? jQuery allows you to not only animate to a specified color, but also allows you to animate to a random color. The...

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!