cURL / Mailing Lists / curl-and-php / Single Mail

curl-and-php

Re: Object Moved problem on web host provider (works on local machine)

From: ryan pal <ryanpal_at_mail.com>
Date: Thu, 10 Apr 2008 19:05:56 -0500

No worries. I do have access to .htaccess. Safe_mode is already
disabled. What additions should be made to override open_basedir?

  ----- Original Message -----
  From: "Stephen Pynenburg"
  To: "curl with PHP"
  Subject: Re: Object Moved problem on web host provider (works on
  local machine)
  Date: Thu, 10 Apr 2008 20:00:36 -0400

  Right, sorry - I'm used to a pretty IDE where comments show up green.
  Anyway, does your web host allow you to use ini_set, or .htaccess
  files? If so, you could override the safe mode and open_basedir
  options manually.

  -Stephen

  2008/4/10 ryan pal <ryanpal_at_mail.com>:

    Hi Stephen, Thanks for your reply. You'll notice I commented out
    that function because that is what was causing the problem to
    begin with. Upon searching various forums, I came across that
    "curl_redir_exec" function which was to prevent the error I was
    getting. Unfortunately since this is a web host provider, I will
    not be able to do anything with the versions, hence why I need a
    work around.

      ----- Original Message -----
      From: "Stephen Pynenburg"
      To: "curl with PHP"
      Subject: Re: Object Moved problem on web host provider (works
      on local machine)
      Date: Thu, 10 Apr 2008 18:39:00 -0400

      I noticed that you use the custom function and have
      CURLOPT_FOLLOWLOCATION set to 1 in your code. Is that what
      you meant to do?

      Aside from that, have a look at this forum topic - you may
      have an issue with versions.
      http://www.feedforall.com/forum/viewtopic.php?=&p=9825

      -Stephen

      2008/4/10 ryan pal <ryanpal_at_mail.com>:

        Any takes on this? If I've left out any details please
        let me know and I'll provide them. Any info at all is
        appreciated, I've come to a dead stop at this point.
        Thanks,Ryan

          ----- Original Message -----
          From: "ryan pal"
          To: curl-and-php_at_cool.haxx.se
          Subject: Object Moved problem on web host provider
          (works on local machine)
          Date: Wed, 9 Apr 2008 13:25:46 -0500

          Hello everyone,
          I'm pretty new to cURL and I'm trying to get my frist
          script to work. I need to extract data from a site
          which posts to another ASP page, which then displays
          it's results on a 3rd asp page. I'm able to get this
          to work correctly on my local computer, however, I'm
          running into difficulties on my web host. Original
          problem on my web host was "Warning: curl_setopt()
          [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot
          be activated when in safe_mode or an open_basedir is
          set in..." To prevent this, I chose to use a function
          found on one of the forums (see script below). Now I
          don't get this error anymore, however the page
          doesn't seem to redirect correctly. Here are the
          details, any info would be appreciated. Local Host:
          -----------
          safe_mode: off
          open_basedir: not set
          Web Host Info:
          ---------------
          PHP v 5.2.5
          safe_mode: off
          open_basedir:
          /tmp:/usr/local/4admin/apache/vhosts/<mydomain>.com/httpdocs:/usr/local/4admin/apache/vhosts/<mydomain>.com/logs:/usr/local/4admin/apache/vhosts/<mydomain>.com/storage:/usr/local/4admin/apache/vhosts/<mydomain>.com/web_users:/usr/local/4admin/apache/lib/php:/usr/local/4admin/apache/php5/lib/php:/usr/local/4admin/phpstuff
          SCRIPT:
          ------
          <?php//function in place of the FOLLOWLOCATION
          function curl_redir_exec($ch,$debug="")
          {
          static $curl_loops = 0;
          static $curl_max_loops = 20; if ($curl_loops++ >=
          $curl_max_loops)
          {
          $curl_loops = 0;
          return FALSE;
          }
          curl_setopt($ch, CURLOPT_HEADER, true);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
          $data = curl_exec($ch);
          $debbbb = $data;
          list($header, $data) = explode("\n\n", $data, 2);
          $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
          if ($http_code == 301 || $http_code == 302) {
          $matches = array();
          preg_match('/Location:(.*?)\n/', $header, $matches);
          $url = @parse_url(trim(array_pop($matches)));
          //print_r($url);
          if (!$url)
          {
          //couldn't process the url to redirect to
          $curl_loops = 0;
          return $data;
          }
          $last_url = parse_url(curl_getinfo($ch,
          CURLINFO_EFFECTIVE_URL));
          /* if (!$url['scheme'])
          $url['scheme'] = $last_url['scheme'];
          if (!$url['host'])
          $url['host'] = $last_url['host'];
          if (!$url['path'])
          $url['path'] = $last_url['path'];*/
          $new_url = $url['scheme'] . '://' . $url['host'] .
          $url['path'] . ($url['query']?'?'.$url['query']:'');
          curl_setopt($ch, CURLOPT_URL, $new_url);
          // debug('Redirecting to', $new_url); return
          curl_redir_exec($ch);
          } else {
          $curl_loops=0;
          return $debbbb;
          }
          }$url = "http://www.miami-dadeclerk.com/public-records/pubvalidate1.asp?";
          $ch = curl_init(); //initialize curl handle
          curl_setopt($ch, CURLOPT_URL,$url); //set url to post
          to
          curl_setopt($ch, CURLOPT_FAILONERROR, 1);
          //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
          //allow redirects
          curl_redir_exec($ch,$debug="");
          curl_setopt($ch, CURLOPT_COOKIEFILE, 1);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //return
          into variable
          curl_setopt($ch, CURLOPT_TIMEOUT, 5); //timeout after
          6s
          curl_setopt($ch, CURLOPT_POST, 1); //set POST method
          curl_setopt($ch, CURLOPT_POSTFIELDS,
          "pfirst_party=anderson%2C+john&prec_date_from=04%2F03%2F2008&prec_date_to=04%2F03%2F2008&pdoc_type=LIS&submit=Submit");
          //add post fields
          $result = curl_exec($ch); //run the whole process
          curl_close($ch);echo $result;
          //echo $num;
          ?>
          OUTPUT:
          ------
          HTTP/1.1 100 Continue Server: Microsoft-IIS/5.0 Date:
          Wed, 09 Apr 2008 17:49:49 GMT X-Powered-By: ASP.NET
          HTTP/1.1 302 Object moved Server: Microsoft-IIS/5.0
          Date: Wed, 09 Apr 2008 17:49:50 GMT X-Powered-By:
          ASP.NET Location: searchresult.asp?page=1
          Content-Length: 144 Content-Type: text/html Expires:
          Wed, 09 Apr 2008 17:48:49 GMT Set-Cookie:
          Rides20=CKYstrQuery=&CKYprange=&CKYpmisc%5Fref=&CKYpblock%5Fno=&CKYpcfn%5Fseq=&CKYpcfn%5Fyear=&CKYpsubdivision%5Fname=&CKYpdoc%5Ftype=LIS&CKYpdoc%5Fdate%5Fto=&CKYpdoc%5Fdate%5Ffrom=&CKYpfolio%5Fnumber=&CKYpplat%5Fpage=&CKYpplat%5Fbook=&CKYporig%5Frec%5Fpage=&CKYporig%5Frec%5Fbook=&CKYprec%5Fpage=&CKYprec%5Fbook=&CKYporig%5Fcfn%5Fseq=&CKYporig%5Fcfn%5Fyear=&CKYprec%5Fdate%5Fto=04%2F03%2F2008&CKYprec%5Fdate%5Ffrom=04%2F03%2F2008&CKYpconsid%5Famt%5Fto=&CKYpconsid%5Famt%5Ffrom=&CKYpsecond%5Fparty%5Ftype=&CKYpfirst%5Fparty%5Ftype=&CKYpquery%5Forder=&CKYpsecond%5Fparty=&CKYpfirst%5Fparty=ANDERSON%2C+JOHN&CKYptownship=&CKYpsection=&CKYplegal%5Fdescription=&CKYprows%5Freturned=412&CKYVisible=1&CKYPremierSearch=False;
          path=/public-records Set-Cookie:
          ASPSESSIONIDQCRAASBB=FFKPADAAFBNMMHCDEMDBFNDI; path=/
          Cache-control: private
          Object Moved
          This object may be found here.
          -- Want an e-mail address like mine?
          Get a free e-mail account today at www.mail.com!
          _______________________________________________
          http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-and-php

        -- Want an e-mail address like mine?
        Get a free e-mail account today at www.mail.com!
        _______________________________________________
        http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-and-php

      _______________________________________________
      http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-and-php

    -- Want an e-mail address like mine?
    Get a free e-mail account today at www.mail.com!
    _______________________________________________
    http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-and-php

  _______________________________________________
  http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-and-php

-- 
Want an e-mail address like mine?
Get a free e-mail account today at www.mail.com!

_______________________________________________
http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-and-php
Received on 2008-04-11