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
    Regular Expressions for the Rest of Us

    Sooner or later you'll run across a regular expression. With their cryptic syntax, confusing documentation and massive learning curve, most developers settle for copying and pasting them from StackOverflow and hoping they work. But what if you could decode regular expressions and harness their power? In...

  • By
    CSS Animations Between Media Queries

    CSS animations are right up there with sliced bread. CSS animations are efficient because they can be hardware accelerated, they require no JavaScript overhead, and they are composed of very little CSS code. Quite often we add CSS transforms to elements via CSS during...

Incredible Demos

  • By
    Create Digg URLs Using PHP

    Digg recently came out with a sweet new feature that allows users to create Tiny Digg URLs which show a Digg banner at the top allowing easy access to vote for the article from the page. While I love visiting Digg every once in a...

  • By
    MooTools 1.2 Image Protector: dwProtector

    Image protection is a hot topic on the net these days, and why shouldn't it be? If you spent two hours designing an awesome graphic, would you want it ripped of in matter of seconds? Hell no! That's why I've created an image...

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!