Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.08.2020, 15:13   #1
mot0rrr
Новичок
Джуниор
 
Регистрация: 28.08.2020
Сообщений: 1
По умолчанию Помогите разобратся в нескольких строках php

function get_proxy()
{
global $proxies;
$proxies = [];
foreach (file(getcwd() . '/../../proxy.txt') as $str)
{
$str = trim($str);
if (strpos($str, ':') === false) continue;
$proxies[] = $str;
}
if ( ! sizeof($proxies)) return false;

shuffle($proxies);
print_r($proxies);
return array_pop($proxies);
}

function remove_proxy()
{
global $proxies;
unset($proxies[array_search($_SESSION['proxy'], $proxies)]);
file_put_contents(getcwd() . '/../../proxy.txt', join("\n", $proxies), LOCK_EX);
print_r($proxies);
$_SESSION['proxy'] = null;
}

function curl($url)
{
global $config;

if (empty($_SESSION['proxy']))
{
$_SESSION['proxy'] = get_proxy();
echo $_SESSION['proxy'];
}

static $ch = null;

curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );

if ($_SESSION['proxy'])
{
curl_setopt($ch, CURLOPT_PROXY, $_SESSION['proxy']);
curl_setopt($ch, CURLOPT_PROXYTYPE, $config['proxy_type']);
}

$response = curl_exec( $ch );

if ($_SESSION['proxy'])
{
if (curl_getinfo($ch, CURLINFO_RESPONSE_CODE) > 399 || strlen($response) > 100 || empty($response))
{
remove_proxy();
return curl($url);
}
}

curl_close( $ch );
return $response;
}

?>


Есть такой код, нужно что бы он не удалял прокси из файла если они не валид. Как можно поправить?
mot0rrr вне форума Ответить с цитированием
Старый 28.08.2020, 15:50   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Ну вот эту строчку уберите: remove_proxy();
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобратся с дебагером xe7 Neznayka2016 Общие вопросы Delphi 1 09.04.2016 08:07
помогите разобратся Irina.is Microsoft Office Excel 1 17.06.2009 22:38
Помогите разобратся в коде на C++ bsiden Общие вопросы C/C++ 0 11.05.2009 18:24
Помогите разобратся!!! rex2003 Свободное общение 1 18.02.2007 20:37