PDA

Просмотр полной версии : PHP сокеты через прокси


monz
29.01.2010, 20:34
Помогите пожалуйста с примером отправки POST запроса на сокетах через прокси на PHP.

Kaimi
29.01.2010, 20:42
<?php
$fp = fsockopen('rambler.ru', 80, $errno, $errstr, 20);

$data = 'a=1&b=2&c=3';
$body = "POST /index.php HTTP/1.0\r\n".
"Host: rambler.ru\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".strlen($data)."\r\n\r\n".$data;

fwrite($fp, $body);

while (!feof($fp)) echo fgets($fp, 128);

fclose($fp);

?>

Zedobat
29.01.2010, 20:44
<?php
$fp = fsockopen('rambler.ru', 80, $errno, $errstr, 20);

$data = 'a=1&b=2&c=3';
$body = "POST /index.php HTTP/1.0\r\n".
"Host: rambler.ru\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".strlen($data)."\r\n\r\n".$data;

fwrite($fp, $body);

while (!feof($fp)) echo fgets($fp, 128);

fclose($fp);

?>

И где адрес прокси прописывать? ;)

Kaimi
29.01.2010, 20:46
$fp = fsockopen('rambler.ru', 80, $errno, $errstr, 20);

В этой строке вместо rambler.ru

monz
29.01.2010, 21:07
Тоесть, как я понял, сначала открываем сокет к прокси серверу
$fp = fsockopen($proxy, $proxy_port, $errno, $errstr, 20);
А уже затем в заголовках указываем страницу которая принимает пост запрос:
$body = "POST /index.php HTTP/1.0\r\n"
И сам хост к которому подключаемся и отправляем:
"Host: kudapostim.ru\r\n" ???

Kaimi
29.01.2010, 21:11
Вроде того

monz
30.01.2010, 00:51
Kaimi, большое спасибо за помощь! протестил, все работает

CPU0
30.01.2010, 00:52
Kaimi, большое спасибо за помощь! протестил, все работает
https://forum.antichat.ru/showthread.php?p=1814701#post1814701
посмотри пример в pop3_connect()