我希望将curl设置为使用代理服务器。网址由html表单提供,这不是问题。没有代理,它可以正常工作。我在此站点和其他站点上找到了代码,但是它们不起作用。在寻找正确解决方案方面的任何帮助将不胜感激。我觉得风箱近在咫尺,但我缺少一些东西。谢谢。
我从此处改编的波纹管代码http://www.webmasterworld.com/forum88/10572.htm,但它在第12行返回有关缺少T_VARIABLE的错误消息。
<?
$url = '$_POST[1]';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_PROXY, '66.96.200.39:80');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'GET');
curl_setopt ($ch, CURLOPT_HEADER, 1)
curl_exec ($ch);
$curl_info = curl_getinfo($ch);
curl_close($ch);
echo '<br />';
print_r($curl_info);
?>
波纹管是从卷曲通过代理不返回任何内容
<?
$proxy = "66.96.200.39:80";
$proxy = explode(':', $proxy);
$url = "$_POST[1]";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
curl_setopt($ch, CURLOPT_HEADER, 1);
$exec = curl_exec($ch);
echo curl_error($ch);
print_r(curl_getinfo($ch));
echo $exec;
?>
当前位于pelican-cement.com上,但也无法正常工作。
更新:感谢您的所有帮助,我进行了上述更改。现在,它仅返回空白屏幕。
<?
$url = $_POST['1'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_PROXY, '66.96.200.39:80');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'GET');
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_exec ($ch);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
echo $curl_scraped_page;
?>
3
您在第12行
—
-Pekka
另外,您需要将$ url ='$ _POST [1]'更改为$ url = $ _POST [1]-否则,$ url将是字符串,而不是您想要的URL
—
yoavmatchulsky
另外,$
—
POST
$_POST['1']
pelican-cement.com上的表单具有名为“ firstname”和“ lastname”的输入,但没有一个名为“ 1”的输入。
—
John Flatness
@ user586011:请在下面添加您的解决方案作为答案并接受。请勿将解决方案放入问题中,否则效果不佳。
—
hakre 2012年