ANTICHAT

ANTICHAT (https://forum.antichat.io/index.php)
-   PHP (https://forum.antichat.io/forumdisplay.php?f=37)
-   -   Post запрос через прокси (PHP) (https://forum.antichat.io/showthread.php?t=41510)

RaiDeRz 04.06.2007 00:23

Post запрос через прокси (PHP)
 
Как сделать Post запрос через прокси на Php )
Дайте пример

DIAgen 04.06.2007 01:02

Вот держи
PHP код:

$proxy    = '127.0.0.1';
$port     = 80;

 @
$fsock    = fsockopen($proxy ,$port,$errnum,$errstr,5);
  if (!
$fsock)   
  die (
"Увы, или прокся дохлая или истекло время ожидания ответа от нее...(((");
  else {
  
$POST_to_GET = "to=123&for=123";
$len = strlen($POST_GET);
$request  = "POST http://site.ru/index.php HTTP/1.0\n";
$request .="Host: site.ru\n";
$request .="Content-Type: application/x-www-form-urlencoded\n";
$request .="Content-Length: $len \r\n\r\n";
$request .=$POST_to_GET."\r\n";
   
fwrite   ($fsock,$request);
$head = '';
while(!
feof($fsock))
{
$fgets=fgets($fsock,500); 
if (
$fgets=="\r\n" || $fgets=="\n")
{break;} 
$head.=$fgets;}
$content = '';
while(!
feof($fsock))
{
$content .=fread($fsock,2048);}
fclose($fsock); 

Только там может не много косячить из-за зоголовка, ну я думаю ты сможешь сделать все супер, ты же не маленький...)))

RaiDeRz 04.06.2007 01:02

А куда тогда вписывать хост и порт куда надо подключиться?

Isis 04.06.2007 01:05

PHP код:

<?
$proxy 
= "1.1.1.1"; 
$port = "8080";

$fp = fsockopen($proxy, $port, $errno, $errstr, 30); 
if(
$fp)
{
    
$data        = "post=ok";
    
$headers  = "POST $path HTTP/1.1\r\n"; 
    
$headers .= "Host: $hostname\r\n"; 
    
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    
$headers .= "Content-Length: ".strlen($data)."\r\n";
    
$headers .= "Connection: close\r\n\r\n";
     
    
$fw = fwrite($fp, $headers.$data);
    
fclose($fp);
} else die;
?>


Isis 04.06.2007 01:09

Цитата:

Сообщение от RaiDeRz
А куда тогда вписывать хост и порт куда надо подключиться?

Прокси и порт в $proxy & $port :)
Хост в заголовках передавай "Host: www.bla.ru \r\n"

RaiDeRz 04.06.2007 01:12

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

Isis 04.06.2007 01:15

Цитата:

Сообщение от RaiDeRz
А вот как сделать так чтобы через эту проксю можно было подключиться на другой порт не 80 ?

В переменной $port поменять )

Dr.Frank 04.06.2007 17:51

Цитата:

Сообщение от Isis
В переменной $port поменять )

Здесь скорее всего имелось ввиду, чтоб через 80-ый порт проксика подключиться на другой порт(не 80) какого-то ресурса

kys 05.06.2007 14:31

Цитата:

А вот как сделать так чтобы через эту проксю можно было подключиться на другой порт не 80
Так:
POST http://site:port HTTP/1.1
т.е. после названия сайта через двоеточие номер порта

SIBON 06.06.2007 11:34

а как считать ответ сервера на этот запрос?


Время: 03:22