Как сделать подключение к сайту через...

Тема в разделе "Как сделать...", создана пользователем qwerty, 3 сен 2009.

Статус темы:
Закрыта.
  1. qwerty

    qwerty Постоялец

    Регистр.:
    10 апр 2006
    Сообщения:
    75
    Симпатии:
    0
    Прошу помощи в следующем вопросе.
    Все нобходимое нашел здесь, но склеить во едино не получается.
    Нужно послать POST запрос использую прокси другой страны.
    помогите реализовать и как выяснилось курла у меня нет.так что прошу без его использования, а то пару скриптов так и не смогу запустить.

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

    что бы было проще разобраться привожу с чем я эксперементировал или предложите свой вариант

    <?
    echo "version 0.1";
    $url="/nets.aspx?tery=435";
    ?>

    <?php // Open Source Proxy Checker, severely stripped down
    error_reporting(0); // no error reporting
    { // testing the proxy
    $SockAdr='218.56.64.213';
    $SockPort=8080;
    $HL=array(
    'User-Agent' => 'Mozilla/4.0 (Windows 98;US) Opera 3.62 [en]',
    'Accept' => 'image/gif, image/x-xbitmap, image/jpeg, image/png, */*',
    'Pragma' => 'no-cache',
    'Connection' => 'keep-alive');
    print('<html><body><h1>Stripped down version of OSPC</h1>');
    printf('Sending request to proxy %s, port %s<br><pre>',$SockAdr,$SockPort);
    print(" POST $url HTTP/1.1\n");
    print(" Host: http://www.text.ru:80\n");
    reset($HL);
    while(list($header,$value)=each($HL)) print(" $header: $value\n");
    printf("</pre>Connecting to %s, port %s...<br>",$SockAdr,$SockPort);
    flush(); // force flushing of "printf" buffers.
    $fp=fsockopen($SockAdr,$SockPort);
    if($fp) { // you are reading this code? Wow, I'm proud of you!
    // start outputting our header
    fputs($fp,"POST $url HTTP/1.1\r\n");
    fputs($fp,"Host: http://www.text.ru:80\r\n");
    reset($HL);
    while(list($header,$value)=each($HL)) fputs($fp,"$header: $value\r\n");
    fputs($fp,"\r\n"); // terminate header structure by appending a blank line
    while(!feof($fp)) {
    $line=fgets($fp,4096); // I suppose no line will be longer than this
    echo $line;
    if($line=="\r\n") break; // reached end of header
    } // end while
    if(!feof($fp)) {
    print('<br>Receiving...<pre>');
    while(!feof($fp)) {
    $line=trim(fgets($fp,4096));
    echo $line;
    list($name,$value)=split(' === ',$line,2);
    if((strlen($name)>0)&&(strlen($value)>0)) print(" $name: $value\n");
    } // end while() (end of "file" reached)
    print("</pre>That's all!");
    } // end if
    fclose($fp);
    } // end if: end processing with a valid socket handle ($fp)
    print('</body></html>');
    } // end else: testing proxy
    ?>

    и еще вопрос из майскуэля считал данные в массив
    $aWords=array();
    .....
    while ($aRow = mysql_fetch_array($result))
    {
    $aWords[] = $aRow;
    }

    как можно выбрать из этого массиво рендомно 10 записей? а если записей меньше то стольок сколько есть?

    прошу строго не судить пхп не мой конек но очень надо
     
  2. PapaJoe

    PapaJoe

    Регистр.:
    4 авг 2008
    Сообщения:
    620
    Симпатии:
    311
    насчет второго вопроса
    PHP:
    srand ((float)microtime()*1000000); // randomize
    shuffle($aWords); // перетрехнет массив
    $count=(count($aWords>10))?10:count($aWords); // если в массиве более 10 значени - берем число 10, если менее, берем число, равное количеству элементов
    for($q=0;$q<$count;$q++){
    echo 
    $aWords[$q]."\r\n";
    }
     
Статус темы:
Закрыта.