Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 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
Сообщений: 14,896
По умолчанию

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840