Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   помогите с Curlом (https://forum.antichat.xyz/showthread.php?t=42714)

vitek10 21.06.2007 00:32

помогите с Curlом
 
подскажите почему не передается referer
вот кусок кода

Код:

<?
  set_time_limit(0);
  ob_implicit_flush();
    $refs=explode("\n",trim($aref));
    $uref=trim($host);
    $gurl=trim($refs);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $gurl);
    curl_setopt($ch, CURLOPT_HEADER,0);
    curl_setopt($ch, CURLOPT_NOBODY,0);
    curl_setopt($ch,CURLOPT_TIMEOUT,6);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_REFERER, $uref);
    curl_setopt($ch, CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
    $file_content=curl_exec ($ch);
    curl_close ($ch);
   
?>



переменные передаются скрипту через формы методом POST,
ошибок не выдает, но в TOP REFERERS не приходит.
подскажите в чем проблема :confused:

GreenBear 21.06.2007 00:44

ну попробуй $_POST['host']

vitek10 21.06.2007 01:09

не помогает
пробовал . что-то куда-то типа отсылает, но в ресурсе не видно, хотя через minibrowser все отсылается, значит сайт принимает подобные данные...
(для тренировки пользую _http://slotvent.com/guestbook/
в нем длинный TOP и можно отслеживать поступление данных :D ),и если бы CURL был отключен на хосте - я полагаю выдавалась бы ошибка... :confused:
вот скрипт
Код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;  CHARSET=Windows-1251">
<META content="text/html; charset=windows-1251" http-equiv=Content-Type>
</head>
<body>
<?
if (empty($aref))
{
$aref="";
}

if (empty($prox))
{
$prox="";
}
if (empty($aref)||empty($_POST['host']))
{
echo "<CENTER>
<h1>URL</h1>
<form action='index.php' method='post' name='logg'>
<table>
<tr>
<br>
<input type='text' name='host' size=60><br><br>
<td valign='top'><strong>Ссылки </strong>
<textarea cols=150 rows=10 name=aref>$aref</textarea>
</td>
</tr>

<tr>
<td ><input type='submit' name='qqqqq' value='отправить'></td>
</tr>
</table>
</form>
</CENTER>
";
exit;
}
?>

<?
  set_time_limit(0);
  ob_implicit_flush();
    $refs=explode("\n",trim($aref));

  $ZZI=0;
  WHILE ( (count($refs)>$ZZI) && ($ZZI<50) )
  {
        echo trim($refs[$ZZI])."  &nbsp;&nbsp;&nbsp; ok <br>";
        ob_flush();

        $uref=trim($_POST['host']);
        $gurl=trim($refs[$ZZI]);
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $gurl);
        curl_setopt($ch, CURLOPT_HEADER,0);
        curl_setopt($ch, CURLOPT_NOBODY,0);
        curl_setopt($ch,CURLOPT_TIMEOUT,6);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_REFERER, $uref);
        curl_setopt($ch, CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
        $file_content=curl_exec ($ch);
        curl_close ($ch);
        sleep(1);
        $ZZI=$ZZI+1;
}


        echo "<CENTER>
<h1>URL</h1>
<form action='index.php' method='post' name='logg'>
<table>
<tr>
<br>
<input type='text' name='host' size=60><br><br>
<td valign='top'><strong>Ссылки </strong>
<textarea cols=150 rows=10 name=aref>$aref</textarea>
</td>
</tr>

<tr>
<td ><input type='submit' name='qqqqq' value='отправить'></td>
</tr>
</table>
</form>
</CENTER>
        ";
?>
</body>
</html>


hhover 21.06.2007 13:15

PHP код:

<?php
set_time_limit
(0);
ob_implicit_flush();
#    $refs=explode("\n",trim($aref));
#    $uref=trim($host);
#    $gurl=trim($refs);
$uref "http://referer.com/";
$gurl "http://host.com/";

    
$ch curl_init();
    
curl_setopt($chCURLOPT_URL$gurl);
    
curl_setopt($chCURLOPT_HEADER,0);
    
curl_setopt($chCURLOPT_NOBODY,0);
    
curl_setopt($ch,CURLOPT_TIMEOUT,6);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
curl_setopt($chCURLOPT_REFERER$uref);
    
curl_setopt($chCURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
    
$file_content=curl_exec ($ch);
    
curl_close ($ch);
?>

Такой код прекрасно передает реферер. Так что ищи ошибку в своей форме, и в том, как она что передает. Там все так сумбурно, что я не понял, для чего она. И имена переменных странные.
Но несколько советов -
1) Почитай про register_globals, про основы работы с формами и это.
2) Сделай себе страничку <?php echo $_SERVER['HTTP_REFERER']; ?> и отлаживай скрипт ей, выводя на экран содержимое странички запроса.

vitek10 21.06.2007 15:43

не пойму что странного в именах переменных, а передаются они вполне нормально,
только все равно не работает. может проблема с хостингом?

hhover 21.06.2007 16:48

Конечно, в нем все дело!

vitek10 21.06.2007 16:59

хостинг _hut.ru

вот более понятный код,
может я всетаки что-то пропустил
Код:


<?

if (empty($prox))
{
$prox="1.11.11.11:39";
}
if (empty($_POST['aref'])||empty($_POST['ddor']))
{
exit;
}
  set_time_limit(0);
  ob_implicit_flush();
    $refs=explode("\n",trim($_POST['aref']));

  $ZZI=0;
  WHILE ( (count($refs)>$ZZI) && ($ZZI<50) )
  {
        echo trim($refs[$ZZI])."  &nbsp;&nbsp;&nbsp; ok <br>";
        ob_flush();

        $uref=trim($_POST['ddor']);
        $gurl=trim($refs[$ZZI]);
#        print($uref)."  &nbsp;&nbsp;&nbsp;ok <br>";
#        print($gurl)."  &nbsp;&nbsp;&nbsp; ok <br>";
        $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, $gurl);
        curl_setopt($ch, CURLOPT_PROXY, $prox);
        curl_setopt($ch, CURLOPT_HEADER,0);
        curl_setopt($ch, CURLOPT_NOBODY,0);
        curl_setopt($ch, CURLOPT_TIMEOUT,6);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
        curl_setopt($ch, CURLOPT_REFERER, $uref);
        curl_setopt($ch, CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
        $file_content=curl_exec ($ch);
        curl_close ($ch);
        sleep(1);
        $ZZI=$ZZI+1;

}
?>

или лучше подскажите хост с поддержкой CURL
желательно бесплатный ну или за пару баксов в месяц

vitek10 21.06.2007 21:19

тема закрыта. поменял хостинг и все в елочку
всем спасибо


Время: 06:38