2011-05-16 11 views
0
<?php 

$ch = curl_init(); 
curl_setopt ($ch, CURLOPT_URL, 'http://192.168.0.14:8081/home/'); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
$curl_response = curl_exec($ch); 
curl_close($ch); 

//Change link url 

$link = $curl_response; 

$linkgo = '/sickbeard_public'; 
$linkfind = 'href="'; 
$linkreplace = 'href="' . $linkgo ; 

$link = str_replace($linkfind, $linkreplace, $link); 


//Change js url 
$js = $link; 

$jsgo = 'http://192.168.0.14:8081'; 
$jsfind = 'src="'; 
$jsreplace = 'src="' . $jsgo ; 

$js = str_replace($jsfind, $jsreplace, $js); 


//Fix on page link errors 
$alink = $js; 
$alinkgo = 'http://192.168.0.14:8081/'; 
$alinkfind = 'a href="/sickbeard_public/'; 
$alinkreplace = 'a href="' . $alinkgo ; 

$alink = str_replace($alinkfind, $alinkreplace, $alink); 
_________________ 

$sh = curl_init(); 
$url = $alink; 
curl_setopt ($sh, CURLOPT_URL, $url); 
curl_setopt ($sh, CURLOPT_RETURNTRANSFER, 1); 
$curl_res = curl_exec($sh); 


echo $curl_res; 

?> 

我想拉一個網頁,然後被點擊該網頁上的鏈接時,我想捲曲原來的URL。該如果我使用echo $ alink代替線後的代碼,那麼代碼可以在線上運行,但是上面顯示的代碼並不是這樣,點擊的url的curling不起作用,它已經擺弄了幾個小時但谷歌沒有幫助,我不知道該怎麼辦。請幫助.. 謝謝

+3

就CURL而言,硬編碼的URL字符串和存儲在變量中的URL之間絕對沒有區別。在你嘗試在'curl_setop()'中使用它之前,把一些調試信息放回'$ alink' - 最有可能你用str_replace()做的一些處理工作不正確。 – 2011-05-16 19:04:46

+0

我明白你在說什麼,我想我可能會以這種錯誤的方式去做。讓自己感到困惑..我需要任何鏈接,點擊時通過curl接收一個「a href =」標籤。我無法硬編碼這些鏈接,因爲它們來自動態網站,因此可能是任何事情。我將如何實現這一目標? – Michael 2011-05-16 19:53:39

+0

「我需要任何鏈接,當點擊這個鏈接以獲得一個」a href =「標記時,我將無法通過curl對這些鏈接進行硬編碼,因爲它們來自動態站點,因此可能是任何東西,我將如何實現這一目標?這是一個單獨的問題 - 請把它作爲一個單獨的問題。 – 2011-05-16 20:31:25

回答

0

請確保「?」後的所有變量值是「urlencode()」,尤其是空格否則它贏得' t work。

相關問題