簡體   English   中英

PHP的URL和Instagram的照片

[英]php cURL and Instagram Photos

因此,有人在Twitter上發布了指向照片的鏈接: http : //instagr.am/p/QSVkR8LS3H/

這會從http://t.co/bOJ4EX2j重定向到http://instagr.am/p/QSVkR8LS3H/,到照片所在的實際Instagram頁面http://instagram.com/p/QSVkR8LS3H/

涼。 一切都很好。 現在,我希望cURL遵循該推特鏈接並下載包含照片的<img>的最后一頁。 腳本基本上是這樣的:

 $target = 'http://t.co/bOJ4EX2j';

 $ch = curl_init();

 curl_setopt ($ch, CURLOPT_HTTPGET,        TRUE);
 curl_setopt ($ch, CURLOPT_POST,           FALSE);
 curl_setopt ($ch, CURLOPT_COOKIEJAR,      COOKIE_FILE);   // Defined Constant
 curl_setopt ($ch, CURLOPT_COOKIEFILE,     COOKIE_FILE);
 curl_setopt ($ch, CURLOPT_TIMEOUT,        CURL_TIMEOUT);  // Defined Constant
 curl_setopt ($ch, CURLOPT_USERAGENT,      WEBBOT_NAME);   // Defined Constant
 curl_setopt ($ch, CURLOPT_URL,            $target);       // Target site
 curl_setopt ($ch, CURLOPT_REFERER,        '');            // Referer value
 curl_setopt ($ch, CURLOPT_VERBOSE,        FALSE);         // Minimize logs
 curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);         // No certificate
 curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, TRUE);          // Follow redirects
 curl_setopt ($ch, CURLOPT_MAXREDIRS,      4);             // Limit redirections to four
 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);          // Return in string

# Create return array
$return_array['FILE']   = curl_exec($ch); 
$return_array['STATUS'] = curl_getinfo($ch);
$return_array['ERROR']  = curl_error($ch);

# Close PHP/CURL handle
curl_close($ch);

return $return_array;

現在,該腳本具有更多組件,但這只是cURL部分的一部分。 現在,它確實設法吐出了它到達了圖像所在的正確最終頁面http://instagram.com/p/QSVkR8LS3H/ ),但這是$ return_array ['FILE']吐出的內容:

 500 Server Error

 An internal server error occurred.

即使您在瀏覽器中導航到該頁面,但Cookie處於關閉狀態,並且未登錄Instagram(如果您已登錄),該頁面也會完全加載!

我到底在想什么不允許我使用cURL腳本下載Instagram頁面? 它幾乎可以在我嘗試的所有其他頁面上使用! 只是不是Instagram.com ?!

請有人幫助我解決這個問題–非常感謝任何人提供的幫助或見識。

如果您在服務器而不是本地計算機上運行此代碼,則服務器和Instagram.com之間可能存在一些配置錯誤的代理。 檢查您本地計算機上的代碼,確保它也可以在同一台計算機上的瀏覽器中使用

如果您能正常工作,並且如Justin Wood所述,發現您擁有一個HTML頁面而不是所需的圖像,那么我可以幫助您使用一些PHP獲取圖像URL(然后您必須為此運行另一個URL)。 cURL請求)。

正如我們許多人所說的那樣,該代碼似乎運行良好。 我只能建議您確保錯誤報告已打開,然后在基本目錄中檢查PHP錯誤日志。

您可能還需要檢查PHP.ini中是否啟用了cURL模塊。

不知道還有什么可能是錯誤的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM