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

curl-and-php

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

From: Stephen Pynenburg <spynenburg_at_gmail.com>
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>.co
>
> m/storage:/usr/local/4admin/apache/vhosts/<mydomain>.com/web_users:/usr/local/4
>
> admin/apache/lib/php:/usr/local/4admin/apache/php5/lib/php:/usr/local/4admin/ph
> pstuff
>
> 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%2F
> 03%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=&C
>
> KYporig%5Frec%5Fpage=&CKYporig%5Frec%5Fbook=&CKYprec%5Fpage=&CKYprec%5Fbook=&CK
>
> Yporig%5Fcfn%5Fseq=&CKYporig%5Fcfn%5Fyear=&CKYprec%5Fdate%5Fto=04%2F03%2F2008&C
>
> KYprec%5Fdate%5Ffrom=04%2F03%2F2008&CKYpconsid%5Famt%5Fto=&CKYpconsid%5Famt%5Ff
>
> rom=&CKYpsecond%5Fparty%5Ftype=&CKYpfirst%5Fparty%5Ftype=&CKYpquery%5Forder=&CK
>
> Ypsecond%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://www.mail.com/Product.aspx>
> !
>
> _______________________________________________
> 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://www.mail.com/Product.aspx>
> !
>
> _______________________________________________
> http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-and-php
>
>

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