Передача параметров другому скрипту при загрузке страницы

Статус
В этой теме нельзя размещать новые ответы.

root230101

Местный житель
Регистрация
19 Сен 2007
Сообщения
301
Реакции
22
Как сделать передачу данных (referer, user agent и т.п.) второму скрипту из первого при загрузке страницы (при выполнении первого скрипта), при условии что скрипты находятся на разных серверах?
Возможно ли это сделать на PHP?
 
что мешает передать все это с POST запросом ?
а лучше зашифруй и передай
 
Все, что нужно передать, ложишь в массив, сериализуешь(serialize()) и передаешь POST запросом, или тем же POST запросом, но отдельными переменными типа var1=value&var2=value2... и т.д.

PHP:
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
 
Без курла надо бы... Видимо тогда только через GET запрос, только как лучше передать значения, содержащие пробел и другие спец символы?
 
Такие значения можно передать предварительно закодировав используя urlencode();
А вообще, можно POST прямо сокетами отправить:
PHP:
$PostUrl="http://somedomain.com/blabla.asp";
$PostData="var1=value";
$OkString=""; 

$Url=substr($PostUrl,strpos($PostUrl,"//")+2); 
$Url=substr($Url,strpos($Url,"/")); 

$HostName=substr($PostUrl,strpos($PostUrl,"//")+2); 
$HostName=substr($HostName,0,strpos($HostName,"/"));

if(strpos($HostName,":")){ 
    $HostPort=substr($HostName,strpos($HostName,":")+1); 
    if(!is_numeric($HostPort)){ 
        $HostPort=80; 
        } 
    } 
else{ 
    $HostPort=80; 
    } 

$fp=fsockopen($HostName, $HostPort, $errno, $errstr, 30); 
if (!$fp){ 
    echo "$errstr ($errno)<br />\n"; 
    } 
else { 
    $out  = "POST $Url HTTP/1.1\r\n"; 
    $out .= "Host: $HostName\r\n"; 
    $out .= "Content-type: application/x-www-form-urlencoded\r\n"; 
    $out .= "Accept-Language: ru\r\n"; 
    $out .= "Connection: Keep-Alive\r\n"; 
    $out .= "Cache-Control: no-cache\r\n";
    $out .= "Content-length: ".strlen($PostData)."\r\n\r\n".$PostData; 

    stream_set_timeout($fp, 30); 
    fputs($fp, $out);
    $ech = fgets($fp);
    fclose($fp);
    }
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху