Ik probeer al sinds enige tijd met curl de laatste url van een pagina op te halen met of zonder redirect.
Even een voorbeeld.
Stel ik ga naar http://www.tweakers.net en deze heeft geen redirect dan krijg ik de url http://www.tweakers.net terug.
Stel ik ga naar http://www.tweakers.net en deze heeft een redirect naar http://www.willem.nl dan krijg ik de url http://www.willem.nl terug.
Met
Krijg ik wel een en aander terug, en in de $header["content"] staat wel de header van die pagina en daar staat wel de url in waar naar geredirect wordt, maar ik vroeg me af of het niet simpeler kan dat ik middels een bepaald soort opties altijd de juiste url terug krijg die ik wil.
Even een voorbeeld.
Stel ik ga naar http://www.tweakers.net en deze heeft geen redirect dan krijg ik de url http://www.tweakers.net terug.
Stel ik ga naar http://www.tweakers.net en deze heeft een redirect naar http://www.willem.nl dan krijg ik de url http://www.willem.nl terug.
Met
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| function get_web_page( $url ) { $options = array( CURLOPT_RETURNTRANSFER => true, // return web page CURLOPT_HEADER => true, // don't return headers CURLOPT_FOLLOWLOCATION => true, // follow redirects CURLOPT_ENCODING => "", // handle all encodings CURLOPT_USERAGENT => "spider", // who am i CURLOPT_AUTOREFERER => true, // set referer on redirect CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect CURLOPT_TIMEOUT => 120, // timeout on response CURLOPT_MAXREDIRS => 10, // stop after 10 redirects ); $ch = curl_init( $url ); curl_setopt_array( $ch, $options ); $content = curl_exec( $ch ); $err = curl_errno( $ch ); $errmsg = curl_error( $ch ); $header = curl_getinfo( $ch ); curl_close( $ch ); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; print($header[0]); return $header; } |
Krijg ik wel een en aander terug, en in de $header["content"] staat wel de header van die pagina en daar staat wel de url in waar naar geredirect wordt, maar ik vroeg me af of het niet simpeler kan dat ik middels een bepaald soort opties altijd de juiste url terug krijg die ik wil.