2010-07-24 49 views
0

我的腳本我嘗試了所有其他環節的工作,我也得到與捲曲也是相同的反應(這是小了很多,所以我很喜歡這個代碼):爲什麼這會返回一個「未找到」PHP和cURL?

<?php 
    $url = $_GET['url']; 
    $header = get_headers($url,1); 
    print_r($header); 
    function get_url($u,$h){ 
     if(preg_match('/200/',$h[0])){ 
      echo file_get_contents($u); 
     } 
     elseif(preg_match('/301/',$h[0])){ 
      $nh = get_headers($h['Location']); 
      get_url($h['Location'],$nh); 
     } 
    } 
    get_url($url,$header); 
?> 

但是: http://www.anthropologie.com/anthro/catalog/productdetail.jsp?subCategoryId=HOME-TABLETOP-UTENSILS&id=78110&catId=HOME-TABLETOP&pushId=HOME-TABLETOP&popId=HOME&sortProperties=&navCount=355&navAction=top&fromCategoryPage=true&selectedProductSize=&selectedProductSize1=&color=sil&colorName=SILVER&isProduct=true&isBigImage=&templateType=

和: http://www.urbanoutfitters.com/urban/catalog/productdetail.jsp?itemdescription=true&itemCount=80&startValue=1&selectedProductColor=&sortby=&id=14135412&parentid=A_FURN_BATH&sortProperties=+subCategoryPosition,&navCount=56&navAction=poppushpush&color=&pushId=A_FURN_BATH&popId=A_DECORATE&prepushId=&selectedProductSize=

(和所有Anthropologie產品鏈接)。我假設其他網站我還沒有發現這樣的行爲也。這是我的標題迴應:

Array 
(
    [0] => HTTP/1.1 200 OK 
    [Server] => Apache 
    [X-Powered-By] => Servlet 2.4; JBoss-4.2.0.GA_CP05 (build: SVNTag=JBPAPP_4_2_0_GA_CP05 date=200810231548)/JBossWeb-2.0 
    [X-ATG-Version] => version=RENTLUFEQyxBVEdQbGF0Zm9ybS85LjFwMSxBREMgWyBEUFNMaWNlbnNlLzAgIF0= 
    [Content-Type] => text/html;charset=ISO-8859-1 
    [Date] => Sat, 24 Jul 2010 23:47:47 GMT 
    [Content-Length] => 21669 
    [Connection] => keep-alive 
    [Set-Cookie] => Array 
     (
      [0] => JSESSIONID=65CA111ADBF267A3B405C69A325576F8.app46-node2; Path=/ 
      [1] => visitCount=1; Expires=Fri, 29-May-2026 00:41:07 GMT; Path=/ 
      [2] => UOCCII:=; Expires=Mon, 23-Aug-2010 23:47:47 GMT; Path=/ 
      [3] => LastVisited=2010-07-24; Expires=Fri, 29-May-2026 00:41:07 GMT; Path=/ 
     ) 

) 

我猜也許它與cookie有關?有任何想法嗎?

回答

0

安裝fiddler並查看實際發送的內容。

您還可以嘗試將您的用戶代理設置爲真實的瀏覽器。有時候,網站試圖通過檢查來防止抓取。

+0

我做了我的cURL代碼。我在Linux和Mac上設置了一個瀏覽器和一個referrer和im ...沒有Windows:\ – 2010-07-25 01:56:53

+0

我確定有一個mac等價物。做這種工作而不能看到原始數據的來回是盲目的。 – 2010-07-25 18:01:52