Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: fsockopen

Сообщения:  [1-2] 

 
 автор: Trianon   (15.08.2009 в 15:23)   письмо автору
 
   для: Artavazd   (15.08.2009 в 11:28)
 

>но вместо IP саита получает IP клиента(то есть локальныи IP моего компютера).

у сайта IP НЕТу. IP есть у сервера, который его обслуживает.
Или у маршрутизатора, через который идут обращения из одной сети в другую.

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

  Ответить  
 
 автор: Artavazd   (15.08.2009 в 11:28)   письмо автору
 
 

 
function PostRequest($url, $referer, $_data) {

    // convert variables array to string:
    $data = array();    
    while(list($n,$v) = each($_data)){
        $data[] = "$n=$v";
    }    
    $data = implode('&', $data);
    // format --> test1=a&test2=b etc.
 
    // parse the given URL
    $url = parse_url($url);

    // extract host and path:
    $host = $url['host'];
    $path = $url['path'];

    // open a socket connection on port 80
    //$fp = fsockopen($host, 80);
    $fp = fsockopen("ssl://".$host, 443);

    // send the request headers:
    fputs($fp, "POST $path HTTP/1.1\r\n");
    fputs($fp, "Host: $host\r\n");
    fputs($fp, "Referer: $referer\r\n");
    fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
    fputs($fp, "Content-length: ". strlen($data) ."\r\n");
    fputs($fp, "Connection: close\r\n\r\n");
    fputs($fp, $data);

    $result = ''; 
    $safe=0;
    while(!feof($fp)&&$safe<1000) {
        // receive the results of the request
        $result .= fgets($fp, 128);
        $safe++;
    }

    // close the socket connection:
    fclose($fp);
 
    // split the result header from the content
    $result = explode("\r\n\r\n", $result, 2);
 
    $header = isset($result[0]) ? $result[0] : '';
    $content = isset($result[1]) ? $result[1] : '';
 
    // return as array:
    return array($header, $content);
}



С помощю этой функции хочу подключить мой сайт к другому серверу. IP моего саита зарегистрирован в том сервере, которуму хочу подключится. Во время подключения сервер проверяет IP, но вместо IP саита получает IP клиента(то есть локальныи IP моего компютера). Как сделать, чтобы сервер получил IP саита.

  Ответить  

Сообщения:  [1-2] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования