| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Få url af redirect med curl eller  Fra : Leif Neland | 
  Dato :  17-09-09 15:06 |  
  |  
 
            Jeg skal "screen-scrape" et site.
 I php læser jeg et varekatalog ind, og ser f.ex. en link som
 http://producent.dom/damecykel%20med%dieselgenerator%20og%20harpun
Ser jeg denne side i en browser, redirectes jeg til
 http://producent.dom/katalog.php?id=123
Dette redirect vil jeg gerne fange i php, så jeg kan læse url'en.
 Jeg bruger eksemplet fra  http://dk2.php.net/manual/en/ref.curl.php
hvor jeg har fjernet det kode, der manuelt redirecter.
 function get_url( $url,  $javascript_loop = 0, $timeout = 5)
 {
      $url = str_replace( "&", "&", urldecode(trim($url)) );
      $cookie = tempnam ("/tmp", "CURLCOOKIE");
      $ch = curl_init();
      curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; 
 Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
      curl_setopt( $ch, CURLOPT_URL, $url );
      curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookie );
      curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
      curl_setopt( $ch, CURLOPT_ENCODING, "" );
      curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
      curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
      curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );    # required 
 for https urls
      curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, $timeout );
      curl_setopt( $ch, CURLOPT_TIMEOUT, $timeout );
      curl_setopt( $ch, CURLOPT_MAXREDIRS, 1 );
      $content = curl_exec( $ch );
      $response = curl_getinfo( $ch );
      curl_close ( $ch );
      return array( $content, $response );
 }
 Men med     curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
 bliver jeg redirectet, dvs $content har den ny side, og $response['url'] 
 er blot  http://producent.org/katalog.php?
Med curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, false );
 er $content tom, og $response['url'] indeholder den originale url.
 Ingen af metoderne giver den url, der redirectes til.
 Hva' så
 Leif
            
              |   |   
            
        
 
            
         
           Dan Storm (17-09-2009) 
         
	
            | Kommentar Fra : Dan Storm | 
  Dato :  17-09-09 15:19 |  
  |  
 
            Leif Neland skrev:
 > Men med     curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
 > bliver jeg redirectet, dvs $content har den ny side, og $response['url'] 
 > er blot  http://producent.org/katalog.php?
> 
 > Med curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, false );
 > er $content tom, og $response['url'] indeholder den originale url.
 > 
 > Ingen af metoderne giver den url, der redirectes til.
 Brug CURLOPT_HEADER og parse de headers du får retur.
 Typisk vil redirectet anføres som
 Location: /sti_til_ny_side
 -- 
 Dan Storm - storm at err0r dot dk /  http://err0r.dk
Tro ikke brugerne vil gøre noget for at undgå dit killfilter
 - Så vigtig er du heller ikke!
            
              |   |   
            
        
 
            
         
           Stig Johansen (18-09-2009) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  18-09-09 10:13 |  
  |  
 
            Dan Storm wrote:
 > Brug CURLOPT_HEADER og parse de headers du får retur.
 > Typisk vil redirectet anføres som
 > Location: /sti_til_ny_side
 Det skal de vel (?).
 Nu skriver Leif ikke rigtig noget, der kan bruges til noget, men jeg
 strikkede et lille tool sammen til netop at identificere redirection:
 < http://w-o-p-r.dk/wopr.tools/probes/wopr.probes.asp>
Kig under headers.
 Det er sådan set et internal tool, og jeg vil sætte pris på, at det ikke
 bliver (mis)brugt, da det kører over min private linie.
 Men prøv f.eks: < http://v2.dk> og se hvad der sker.
 Som sagt så er det bare et 'investigation tool', hvor jeg har observeret, at
 der kan være op til 5 redirections i 'svineørernes' koncepter, og deraf
 efterfølgende 'mulighed' for download af malware.
 -- 
 Med venlig hilsen
 Stig Johansen
            
              |   |   
            
        
 
            
         
            Dan Storm (18-09-2009) 
         
	
            | Kommentar Fra : Dan Storm | 
  Dato :  18-09-09 10:34 |  
  |  
 
            Stig Johansen skrev:
 > Dan Storm wrote:
 > 
 >> Brug CURLOPT_HEADER og parse de headers du får retur.
 >> Typisk vil redirectet anføres som
 >> Location: /sti_til_ny_side
 > 
 > Det skal de vel (?).
 Mjaeh, jeg er et par gange stødt på noget ala
 Refresh: 0; url= http://www.example.com/
Det er grimt, men den er helt i vinkel.
 > 
 > Nu skriver Leif ikke rigtig noget, der kan bruges til noget, men jeg
 > strikkede et lille tool sammen til netop at identificere redirection:
 > < http://w-o-p-r.dk/wopr.tools/probes/wopr.probes.asp>
> Kig under headers.
 > Det er sådan set et internal tool, og jeg vil sætte pris på, at det ikke
 > bliver (mis)brugt, da det kører over min private linie.
 > 
 > Men prøv f.eks: < http://v2.dk> og se hvad der sker.
 Det er faktisk et godt værktøj i virkeligheden.
 Det er en god måde at løbe en omgang redirections igennem, hvis det 
 skulle være. Den funktionalitet tilbyder f.eks. firefox ikke på trods af 
 at du kan læse response headers med Web Developer.
 > Som sagt så er det bare et 'investigation tool', hvor jeg har observeret, at
 > der kan være op til 5 redirections i 'svineørernes' koncepter, og deraf
 > efterfølgende 'mulighed' for download af malware.
 > 
 Ja, de kan være lidt snu, for det kan jo hurtigt blive svært at følge 
 med alle de redirections...
 -- 
 Dan Storm - storm at err0r dot dk /  http://err0r.dk
Tro ikke brugerne vil gøre noget for at undgå dit killfilter
 - Så vigtig er du heller ikke!
            
              |   |   
            
        
 
            
         
             Stig Johansen (18-09-2009) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  18-09-09 13:19 |  
  |  
 
            Dan Storm wrote:
 > Stig Johansen skrev:
 >> Dan Storm wrote:
 >> 
 >>> Brug CURLOPT_HEADER og parse de headers du får retur.
 >>> Typisk vil redirectet anføres som
 >>> Location: /sti_til_ny_side
 >> 
 >> Det skal de vel (?).
 > 
 > Mjaeh, jeg er et par gange stødt på noget ala
 > Refresh: 0; url= http://www.example.com/
> 
 > Det er grimt, men den er helt i vinkel.
 Mener du så'n i det virkelige liv (stødt på)?
 Det er jo ikke standard, så jeg ville egentlig ikke forvente 'de' brugte
 det.
 Ikke sådan at forstå, at 'de' bruger standarder, men jeg ville formode 'de'
 bruger teknikker der virker i de fleste browsere.
 Jeg ved heller ikke om det vil virke i nyere IE'er, da jeg kører Win2K, og
 er afskåret fra at fordybe mig i IE's herligheder og innovationer efter
 IE6.
 -- 
 Med venlig hilsen
 Stig Johansen
            
              |   |   
            
        
 
            
         
              Peter Farsinsen (18-09-2009) 
         
	
            | Kommentar Fra : Peter Farsinsen | 
  Dato :  18-09-09 13:29 |  
  |   
            Stig Johansen wrote:
 > Jeg ved heller ikke om det vil virke i nyere IE'er, da jeg kører Win2K, og
 > er afskåret fra at fordybe mig i IE's herligheder og innovationer efter
 > IE6.
 
 /Det/ lyder ubehageligt.
 
 -- 
 Peter Farsinsen
 fornavn@efternavn.dk
  
            
             |   |   
            
        
 
            
         
               Stig Johansen (18-09-2009) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  18-09-09 14:41 |  
  |   
            Peter Farsinsen wrote:
 
 > Stig Johansen wrote:
 >> Jeg ved heller ikke om det vil virke i nyere IE'er, da jeg kører Win2K,
 >> og er afskåret fra at fordybe mig i IE's herligheder og innovationer
 >> efter IE6.
 > 
 > /Det/ lyder ubehageligt.
 
 Glemte måske et <sarcasm value="on> i mit indlæg.
 
 Jeg har skam min trofaste Konqueror, der i mange år har haft faneblade,
 individuel javascript/cookies osv, og derudover har jeg sidste nye Firefox
 med diverse plugins, på min ene Win-maskine.
 
 IE interesserer mig faktisk overhovedet ikke.
 
 -- 
 Med venlig hilsen
 Stig Johansen
  
            
             |   |   
            
        
 
            
         
                Peter Farsinsen (18-09-2009) 
         
	
            | Kommentar Fra : Peter Farsinsen | 
  Dato :  18-09-09 15:00 |  
  |   
            Stig Johansen wrote:
 > Jeg har skam min trofaste Konqueror, der i mange år har haft faneblade,
 > individuel javascript/cookies osv, og derudover har jeg sidste nye Firefox
 > med diverse plugins, på min ene Win-maskine.
 >
 > IE interesserer mig faktisk overhovedet ikke.
 
 He he. Så giver det lidt mere mening.
 
 Nu ved jeg ikke, hvad du beskæftiger dig med, men er det ikke 
 problematisk at arbejde med webudvikling uden at have adgang til IE? Når 
 'ting' virker er det jo gerne der man bruger de sidste 15% af budgettet ;)
 
 -- 
 Peter Farsinsen
 fornavn@efternavn.dk
  
            
             |   |   
            
        
 
            
         
                 Philip Nunnegaard (18-09-2009) 
         
	
            | Kommentar Fra : Philip Nunnegaard | 
  Dato :  18-09-09 18:24 |  
  |  
 
            Peter Farsinsen skrev:
 > Nu ved jeg ikke, hvad du beskæftiger dig med, men er det ikke 
 > problematisk at arbejde med webudvikling uden at have adgang til IE? Når 
 > 'ting' virker er det jo gerne der man bruger de sidste 15% af budgettet ;)
 Min egen erfaring siger mig faktisk at hvis noget virker både i Firefox, 
 Opera og IE6, virker det også i nyere versioner af IE.
 -- 
 Philip -  http://chartbase.dk |  http://www.hitsurf.dk
            
             |   |   
            
        
 
            
         
                  Peter Farsinsen (19-09-2009) 
         
	
            | Kommentar Fra : Peter Farsinsen | 
  Dato :  19-09-09 12:08 |  
  |   
            Philip Nunnegaard wrote:
 >> Nu ved jeg ikke, hvad du beskæftiger dig med, men er det ikke
 >> problematisk at arbejde med webudvikling uden at have adgang til IE?
 >> Når 'ting' virker er det jo gerne der man bruger de sidste 15% af
 >> budgettet ;)
 >
 > Min egen erfaring siger mig faktisk at hvis noget virker både i Firefox,
 > Opera og IE6, virker det også i nyere versioner af IE.
 
 Det er nok heller ikke helt forkert. Jeg arbejder ikke på Windows, så IE 
 er ikke med i loopet fra starten af. Det passer mig faktisk fint ikke at 
 skulle tænke på det før til sidst.
 
 -- 
 Peter Farsinsen
 fornavn@efternavn.dk
  
            
             |   |   
            
        
 
            
         
                 Stig Johansen (19-09-2009) 
         
	
            | Kommentar Fra : Stig Johansen | 
  Dato :  19-09-09 16:12 |  
  |   
            Peter Farsinsen wrote:
 
 > Nu ved jeg ikke, hvad du beskæftiger dig med, 
 
 Sår'n lidt 'core' serverudvikling.
 
 > men er det ikke 
 > problematisk at arbejde med webudvikling uden at have adgang til IE? 
 
 Jeg har skam 'adgang' til IE(6), men mit metiér er mere ovre i 'COBOL'
 verdenen, og på websiden lidt ovre i DW/BI verdenen, hvor der ikke skal
 blip-og-båt til.
 
 > Når 
 > 'ting' virker er det jo gerne der man bruger de sidste 15% af budgettet ;)
 
 Kender jeg ikke noget til ;)
 
 -- 
 Med venlig hilsen
 Stig Johansen
  
            
             |   |   
            
        
 
            
         
              Dan Storm (18-09-2009) 
         
	
            | Kommentar Fra : Dan Storm | 
  Dato :  18-09-09 13:44 |  
  |  
 
            Stig Johansen skrev:
 >> Mjaeh, jeg er et par gange stødt på noget ala
 >> Refresh: 0; url= http://www.example.com/
>>
 >> Det er grimt, men den er helt i vinkel.
 > 
 > Mener du så'n i det virkelige liv (stødt på)?
 > 
 Jeps - husker en løsning hos et større webhus hvor det var standard ved 
 redirections i en periode.
 > Det er jo ikke standard, så jeg ville egentlig ikke forvente 'de' brugte
 > det.
 > 
 > Ikke sådan at forstå, at 'de' bruger standarder, men jeg ville formode 'de'
 > bruger teknikker der virker i de fleste browsere.
 > 
 Måske ikke standard, men helt legitimt.
 -- 
 Dan Storm - storm at err0r dot dk /  http://err0r.dk
Tro ikke brugerne vil gøre noget for at undgå dit killfilter
 - Så vigtig er du heller ikke!
            
              |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |