2014-11-21 295 views
0

我怎麼去有關更改查詢字符串,例如像我有一個API這種捲曲請求變化的查詢字符串參數

www.apiurl.com/page=1&content=3 

我需要請求像60頁所以這是簡單的方法,而不是重複一遍又一遍的代碼?

像並行要求這一點,並返回這裏所有

www.apiurl.com/page=2&content=3 
www.apiurl.com/page=3&content=6 
www.apiurl.com/page=4&content=9 

代碼數據

$strings = array('page'=>'1',      
       '&content'=>'3'); 

$postdata = http_build_query($strings); 

$data = curl_init(); 

curl_setopt ($data, CURLOPT_URL, "www.apiurl.com/"); 
curl_setopt($data, CURLOPT_RETURNTRANSFER, true); 
curl_setopt ($data, CURLOPT_POSTFIELDS, $postdata); 

$content = curl_exec($data); 
curl_close($data); 
print_r($content); 
+0

這是什麼邏輯,頁面/內容之間的關係?頁面正在遞增1,並且內容與3? – vaso123 2014-11-21 12:51:45

+0

我剛剛給了一個例子,沒有任何邏輯,但我們要求的API有這樣的東西,所以我只是用這個作爲例子 – Lion 2014-11-21 14:22:07

回答

1

讓我們給一出手就這樣...

//Create an array, what stores, what page and what conent you need 
$params = array(
    array('page' => 2, 'content' => 3), 
    array('page' => 3, 'content' => 6), 
    array('page' => 4, 'content' => 9), 
    // and so on 
); 

define('URL', 'www.apiurl.com/'); 

foreach ($params as $param) { 
    $postdata = http_build_query($param, '', '&'); 
    $data = curl_init(); 
    curl_setopt($data, CURLOPT_URL, URL); 
    curl_setopt($data, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($data, CURLOPT_POSTFIELDS, $postdata); 
    $content = curl_exec($data); 
    curl_close($data); 
    print_r($content); 
} 
+0

我試過這段代碼,我只是得到白頁..可能是什麼原因? – Lion 2014-11-21 15:36:32

+0

通過'error_reporting(E_ALL);'和'ini_set('display_errors',1)'打開錯誤報告;'檢查你有什麼錯誤。但我看到了什麼可能是錯的。等等,我將立即嘗試編輯我的代碼 – vaso123 2014-11-21 15:38:35

+0

,但在我的上一個評論中提到的代碼的頂部添加這兩行代碼。 – vaso123 2014-11-21 15:40:18