Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Как пустить скрипт через прокси? (https://forum.antichat.xyz/showthread.php?t=204251)

nail 15.05.2010 17:46

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

m0Hze 15.05.2010 17:55

Примерно так. Замениться ф-цию post на подобие этой:
PHP код:

function post($url$post$cookieID,$socks=false,$v=5)
{
    
$ch curl_init($url);
    
curl_setopt($chCURLOPT_USERAGENT,
        
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
    if (
$post <> null) {
        
curl_setopt($chCURLOPT_POST1);
        
curl_setopt($chCURLOPT_POSTFIELDS$post);
    }
    if (
$socks) {
        
curl_setopt($execCURLOPT_PROXYTYPE, ($v == ?  CURLPROXY_SOCKS5 :  CURLPROXY_SOCKS4));
        
curl_setopt($execCURLOPT_PROXY$socks);
    }
    
curl_setopt($chCURLOPT_REFERER"http://vkontakte.ru/");
    
curl_setopt($chCURLOPT_COOKIEJARgetcwd() . '/' $cookieID '.c');
    
curl_setopt($chCURLOPT_COOKIEFILEgetcwd() . '/' $cookieID '.c');
    
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
$result curl_exec($ch);
    return 
$result;


И вызов ф-ции производить вот так:
PHP код:

$result post('http://vkontakte.ru/login.php','act=login&success_url=&fail_url=&try_to_login=1&to=&vk=&email='.$autorization[0].'&pass='.$autorization[1],$autorization[2],'1.2.3.4:8952',4); 

Будет работать с носками 4-5 версий.

nail 15.05.2010 18:44

работа через прокси не идет,заменил post и функцию на ваши:

PHP код:

<?php

$bd      
'bd.txt';
$divider ':';
$log     '1';
set_time_limit(0);

 function 
post($url$post$cookieID,$socks=false,$v=5)
{
    
$ch curl_init($url);
    
curl_setopt($chCURLOPT_USERAGENT,
        
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
    if (
$post <> null) {
        
curl_setopt($chCURLOPT_POST1);
        
curl_setopt($chCURLOPT_POSTFIELDS$post);
    }
    if (
$socks) {
        
curl_setopt($execCURLOPT_PROXYTYPE, ($v == ?  CURLPROXY_SOCKS5 :  CURLPROXY_SOCKS4));
        
curl_setopt($execCURLOPT_PROXY$socks);
    }
    
curl_setopt($chCURLOPT_REFERER"http://vkontakte.ru/");
    
curl_setopt($chCURLOPT_COOKIEJARgetcwd() . '/' $cookieID '.c');
    
curl_setopt($chCURLOPT_COOKIEFILEgetcwd() . '/' $cookieID '.c');
    
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1);
    
$result curl_exec($ch);
    return 
$result;
}  
    function 
write($text)
     {
       
$fh fopen("log.txt""a+");
       
$success fwrite($fh$text);
       
fclose($fh);      
     }
 
  
$bd      file($bd);
  
$ammount count($bd);

  for(
$i 0$i $ammount$i++)
   {
        
$autorization explode($divider,$bd[$i]);
    
$autorization[2] = trim($autorization[2]);

    
$result post('http://vkontakte.ru/',null,$autorization[2]);

    if (
preg_match('#l">E(.*?)<#i',$result))
     {

        
$result post('http://vkontakte.ru/login.php','act=login&success_url=&fail_url=&try_to_login=1&to=&vk=&email='.$autorization[0].'&pass='.$autorization[1],$autorization[2],'94.41.3.250:1080',4); 

       
$tempLog = ($log == '1') ? write("[".date("H:i")."] Авторизация ($autorization[2])\r\n") : null;
     }
    else
     {
       
$tempLog = ($log == '1') ? write("[".date("H:i")."] Работа через cookie ($autorization[2])\r\n") : null;
      }
     }

 
?>


может где-то ошибка в скрипте?или надо чтото в конфигурацию php добавить?(в апач)

m0Hze 15.05.2010 18:59

У меня ваш прокси тоже не работает. А по сути, вот вам шпаргалка по curl.
http://phpclub.net/manrus/f/curl-setopt.html
Тут найдете все что нужно http://phpclub.net/manrus/f/curl-setopt.html, но тут получится работа только http прокси, настройки для работа с socks есть выше. А вообще, вот вам полноценная, работающаяя ф-ция на соксах.
PHP код:

function curl($url$socks false$version 5$post false$cookie false)
{
    
$ch curl_init(); // инициализируем Curl
    
curl_setopt($chCURLOPT_URL$url); // открываемая страница
    
curl_setopt($chCURLOPT_TIMEOUT20);
    
curl_setopt($chCURLOPT_HEADER0);
    
curl_setopt($chCURLOPT_RETURNTRANSFER1); // вернуть ответ сервера в переменную, а не выводить

    // Работа через прокси
    
if ($socks) {
        
curl_setopt($chCURLOPT_PROXYTYPE, ($version == CURLPROXY_SOCKS5 :
            
CURLPROXY_SOCKS4));
        
curl_setopt($chCURLOPT_PROXY$socks);
    }
    if (
$post) {
        
curl_setopt($chCURLOPT_POST1);
        
curl_setopt($chCURLOPT_POSTFIELDS$post);
    }
    if (
$cookie) {
        
curl_setopt($chCURLOPT_COOKIE$cookie);
    }
    
$page curl_exec($ch);
    
curl_close($ch);
    return (
$page);



nail 15.05.2010 21:08

попробовал рабочий сокс,всеравно не работает,просто белая страница и потом тайм-аут


Время: 20:18