aprok
Новичок
Несколько вопросов по сокетам
Сделал маленький скриптик который подключается к proxy и отсылает определенный запрос на определенный адрес , proxy берутся с файла
218.248.1.13:8080
80.237.140.233:8008
218.224.203.66:3128
.
.
.
это мой первый скрипт с сокетами , потому ест несколько вопросиков =)
1.можна ли одновременно подключится к нескольким proxy и одновременно послать на них запросы ( не ждать пока прейдет ответ )
2. можно ли послать запрос на просмотр страницы но не закачивать ее ( я отсылаю запрос на сервер – он мне отдаёт ответ( html код страницы) но ответ мне не нужен…..НУЖНА ТОКА ЧТОБЫ SERVER ВЫПОЛНИЛ ЗАПРОС…..)
3. как проверить работоспособность proxy
?
If ( fsockopen($host, $port, $errno, $errstr,'30' )){
return True;
Else{
return false;
}
4. fsockopen($host, $port, $errno, $errstr,'30' ) <--30 это я понял максимальное время подключения к серверу ( если время истекает fsockopen выдаст false)?
А вот скрипт :
Сделал маленький скриптик который подключается к proxy и отсылает определенный запрос на определенный адрес , proxy берутся с файла
218.248.1.13:8080
80.237.140.233:8008
218.224.203.66:3128
.
.
.
это мой первый скрипт с сокетами , потому ест несколько вопросиков =)
1.можна ли одновременно подключится к нескольким proxy и одновременно послать на них запросы ( не ждать пока прейдет ответ )
2. можно ли послать запрос на просмотр страницы но не закачивать ее ( я отсылаю запрос на сервер – он мне отдаёт ответ( html код страницы) но ответ мне не нужен…..НУЖНА ТОКА ЧТОБЫ SERVER ВЫПОЛНИЛ ЗАПРОС…..)
3. как проверить работоспособность proxy
?
If ( fsockopen($host, $port, $errno, $errstr,'30' )){
return True;
Else{
return false;
}
4. fsockopen($host, $port, $errno, $errstr,'30' ) <--30 это я понял максимальное время подключения к серверу ( если время истекает fsockopen выдаст false)?
А вот скрипт :
PHP:
<?php
$fp=@fopen($_SERVER['DOCUMENT_ROOT'].'/proxy.log',"r");
$proxy=array();
while (!feof($fp)){
$proxy[]=fgetcsv($fp,100,':');
}
for ($i=0;$i<=count($proxy);++$i){
method_get($proxy[$i]['0'],$proxy[$i]['1']);
}
function method_get($host,$port) {
$stream = fsockopen($host, $port, $errno, $errstr,'30' ) ;
$output = null;
fputs($stream, "GET /index.php?voteid=2 HTTP/1.0\r\n");
fputs($stream, "Host: www.test.com \r\n");
fputs($stream, "Referer: www.test.com \r\n");
fputs($stream, "User-Agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727) \r\n");
fputs($stream, "\r\n");
/* while (!feof($stream))
$output .= fgets($stream, 128);
fclose($stream);
print $output;
*/
fclose($stream);
}
