2011-05-16 55 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。

相关问题