2013-02-24 14 views
0

我正在使用curl從另一個域調用html內容。每個頁面上的url使用curl略有不同,但域名是相同的。如何在多個頁面中快速更改CURLOPT_URL

如果我想更改curl中的url域名部分,即在10頁上使用,我如何在不編輯每個頁面上的代碼的情況下快速實現這一目標?

我曾嘗試使用'包括'在url字符串中,但它不起作用。 'include'文件只是域前綴。

這是我的代碼。唯一需要在所有頁面上進行更改的部分是url(mydomain.com)中的域名,而不是完整的URL擴展名。

$curl = curl_init(); 
curl_setopt ($curl, CURLOPT_URL, "http://www.mydomain.com/rssfeeds/htmlarticle.asp"); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec ($curl); 
curl_close ($curl); 
print $result; 

回答

2

試試這個:

$ch = curl_init(); 
/* HERE IS YOUR options array where key like RETURN_TRANSFERING 
            and value - true */ 
curl_setopt_array($ch, $options); 
function get($url, $ch){ 
    curl_setopt($ch, CURLOPT_URL, $url); 
    return curl_exec($curl); 
} 

UPDATE:如果你有很多的網址,不是在這個庫https://code.google.com/p/rolling-curl/看看它幫助你進行多GET請求,所以速度會2 -4比單個捲曲請求更快。

UPDATE2:這是另一個多請求https://github.com/barbushin/multirequest

+0

-1它不會工作,'函數內部$ ch'不是從外面一樣'$ ch'。現在,當然你可以使用'全球',但它是邪惡的... 如果你想解決你的答案 - 通過'$ ch'的功能! – alfasin 2013-02-24 18:13:23

+0

對不起,我忘了這是php,而不是js。已經更正了 – kirugan 2013-02-24 18:15:48

+0

想一想我在這裏有點出乎我的意料,但是謝謝你的迴應。是否有可能做這樣的事情,所以我只需要編輯一個tpl文件。 curl_setopt($ curl,CURLOPT_URL,「include('includes/url.tpl')rssfeeds/htmlarticle.asp」); – Kastansa 2013-02-24 18:16:32

相關問題