HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

fsockopen()+proxy
  #1  
Старый 15.12.2008, 20:52
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
С нами: 9230726

Репутация: 242
По умолчанию fsockopen()+proxy

PHP код:
<?
set_time_limit
(0);
$host '189.47.129.62';
$port '6588';
$fp fsockopen("tcp://".$host$port) or die ("ERROR: Could not connect to proxy server $host on port $port");
fputs($fp"CONNECT pop3.mail.ru:110 HTTP/1.0\r\n\r\n");
$response '';
$line fgets($fp10240);
$response $line;
echo 
$response;

fclose ($fp);
?>
Вернет:

Код:
X-Powered-By: PHP/5.2.0
Content-type: text/html

HTTP/1.1 200 Connection established
т.е. соединение установлено.

Как дальше продолжить общение, через сокет (естественно через прокси), с pop3.mail.ru?

P.S. Curl не предлогать

Последний раз редактировалось preda1or; 15.12.2008 в 21:01..
 
Ответить с цитированием

  #2  
Старый 15.12.2008, 21:07
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

 
Ответить с цитированием

  #3  
Старый 15.12.2008, 21:09
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
С нами: 9230726

Репутация: 242
По умолчанию

Цитата:
Сообщение от Pashkela  
Там GET/POST запросы = это не то.
 
Ответить с цитированием

  #4  
Старый 15.12.2008, 21:20
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

"Как дальше продолжить общение, через сокет (естественно через прокси), с pop3.mail.ru?"

конкретизируй задачу, ТС, а то туманно всё как-то
 
Ответить с цитированием

  #5  
Старый 15.12.2008, 21:22
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
С нами: 9230726

Репутация: 242
По умолчанию

Нужно "общение" с POP3 сервером, через прокси, и всё это через сокеты.
 
Ответить с цитированием

  #6  
Старый 15.12.2008, 21:29
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

http://ru2.php.net/fsockopen

CTRL+F "prox"

вроде там всё есть. Задачу ты конкретизировал конкретно А вот пример работы с pop3

PHP код:
The following function performs pop3 authentication. Returns NULL on error, or true/false to indicate username/password matching:

$address is the hostname of the server and $ssl is a boolean that indicates whether an SSL connection is requested.

<?php
function pop3authCheck($username$password$address$ssl)
{
    if (
$ssl)
        
$uri="ssl://$address:995";
    else
        
$uri="tcp://$address:110";

    
$fp=fsockopen($uri);

    if (!
$fp)
        return(
NULL);

    
$st=fgets($fp512);
    if (
substr($st03)!="+OK")
    {
        
fclose($fp);
        return(
NULL);
    }

    
$st="USER $username\n";
    if (
fwrite($fp$st)!=strlen($st))
    {
        
fclose($fp);
        return(
NULL);
    }

    
$st=fgets($fp512);
    if (
substr($st03)!="+OK")
    {
        
fclose($fp);
        return(
NULL);
    }

    
$st="PASS $password\n";
    if (
fwrite($fp$st)!=strlen($st))
    {
        
fclose($fp);
        return(
NULL);
    }

    
$st=fgets($fp512);
    
fclose($fp);
    if (
substr($st03)=="+OK")
        return(
true);
    else if (
substr($st04)=="+ERR")
        return(
false);
    else
        return(
NULL);
}
?>

Последний раз редактировалось Pashkela; 15.12.2008 в 21:33..
 
Ответить с цитированием

  #7  
Старый 15.12.2008, 21:31
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
С нами: 9230726

Репутация: 242
По умолчанию

Как реализовать POP3 аутентификацию я знаю.
Мне нужно это пустить через прокси, с которым я общаюсь через fsockopen();

Я не знаю что посылать прокси серверу через сокет, чтобы он посылал и принимал команды от POP3 сервера.
 
Ответить с цитированием

  #8  
Старый 15.12.2008, 21:34
cash$$$
Banned
Регистрация: 06.01.2008
Сообщений: 413
С нами: 9655526

Репутация: 1334
По умолчанию

Попробуй так

PHP код:
$mailserver "сервер"

      
$user "логин"

      
$pass "пасс"

      
$mailto "мыло"


 
$host '189.47.129.62';  
$port '6588';  
$id=Base64_Encode("login:pass"); 
$fp fsockopen($host$port
or die (
"ERROR: Could not connect to proxy server $host on port $port"); 

fputs($fp"CONNECT $mailserver:25 HTTP/1.0 \r\n"); 
fputs($fp"Proxy-Authorization: Basic $id\r\nConnection: close\r\n\r\n");   
fputs($fp"EHLO nm.ru\r\n"); 
fputs($fp"AUTH LOGIN\r\n"); 
fputs($fpbase64_encode($user)."\r\n".base64_encode($pass)."\r\n"); 
fputs($fp"MAIL FROM: $user\r\n"); 
fputs($fp"RCPT TO: $mailto\r\n"); 
fputs($fp"DATA\r\n"); 

fputs($fp"Subject: bla\r\n"); 
fputs($fp"From: логин <login@nm.ru>\r\n\r\n"); 
fputs($fp"text.\r\n\r\n"); 
fputs($fp".\r\n"); 
echo 
fread($fp,1024)."<br>"
fputs($fp"QUIT\r\n");   
 
/* 
 */ 
fclose ($fp); 
 
Ответить с цитированием

  #9  
Старый 15.12.2008, 21:35
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
С нами: 9679872

Репутация: 347
По умолчанию

после того как прокси сообщит, что соединение установлено ты можешь слать ему все как будто это и есть POP3 сервер. И соответственно принимать
 
Ответить с цитированием

  #10  
Старый 15.12.2008, 21:40
preda1or
Участник форума
Регистрация: 27.10.2008
Сообщений: 278
С нами: 9230726

Репутация: 242
По умолчанию

Цитата:
Сообщение от bons  
после того как прокси сообщит, что соединение установлено ты можешь слать ему все как будто это и есть POP3 сервер. И соответственно принимать
PHP код:
<?
set_time_limit
(0);
$host '213.55.69.124';
$port '6588'// 4480 is the default HTTP proxy port
$fp fsockopen("tcp://".$host$port) or die ("ERROR: Could not connect to proxy server $host on port $port");
fputs($fp"CONNECT pop3.mail.ru:110 HTTP/1.0\r\n\r\n");
$response '';
$line fgets($fp10240);
$response $line;
echo 
$response;
fputs($fp,"USER login\r\n");
$line fgets($fp10240);
$response $line;
echo 
$response;
fclose ($fp);
?>
Не работает...
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...