| | понимаю что тема изъедена, но все же:
на локальном хосте все работает,т.е. обращется к сайту авторизуется - сохраняет куки - потом используя их работает.
на удаленном - после запуска некоторое время работает по плану(слежу за файлами в которые стекает инфа), потом виснет.
Мои мысли: при долгой работе скрипта хостинг его обрубает. я так понимаю, что в php.ini задано макс время работы скрипта. Как обойти данную проблему (чтоб скрипт работал независимо от настроек хостинга(временных)) ???
Код:
<?php
Код
[size=1]
function AUTH_SITE_COOKIE_STORE($LOGINURL,$POSTFIELDS)
{
global $PROXY;
$cookie_file_path="../tmp/cookie.cookie";
$ch = curl_init();
//curl_setopt($ch, CURLOPT_PROXY,$PROXY);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt($ch, CURLOPT_URL,"$LOGINURL");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "$POSTFIELDS");
ob_start();
curl_exec ($ch);
ob_end_clean();
curl_close ($ch);
return $cookie_file_path;
}
function AUTH_SITE_GET_SEND($GETURL_SEND,$cookieFile,$username)
{
global $PROXY;
$parseURL = parse_url($GETURL_SEND);
$cookie_file_path="../tmp/cookie.cookie";
$ch = curl_init();
//curl_setopt($ch, CURLOPT_PROXY,$PROXY);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEFILE, "$cookie_file_path");
curl_setopt($ch, CURLOPT_URL,"$GETURL_SEND");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=".$username."&subject=............");
$result = curl_exec ($ch);
curl_close ($ch);
return $result;
}
function AUTH_SITE_GET($GETURL,$cookieFile)
{
global $PROXY;
$cookie_file_path="../tmp/cookie.cookie";
$ch = curl_init();
//curl_setopt($ch, CURLOPT_PROXY,$PROXY);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_URL,"$GETURL");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
$result = curl_exec ($ch);
curl_close ($ch);
$fp = fopen ("../tmp/code.txt", "w");
fwrite($fp,$result);
fclose ($fp);
return SAVE_NICK("../tmp/code.txt");
}
function FIND_USERNAMES($first,$last)
{
global $LOGINURL,$POSTFIELDS,$GETURL;
//очищаем файл
$base = fopen('../tmp/baseuser.txt',"w");
fclose($base);
while($first<>$last+1)
{
$cookieFile=AUTH_SITE_COOKIE_STORE($LOGINURL,$POSTFIELDS);
echo $first.' '.AUTH_SITE_GET($GETURL.$first,$cookieFile)."<br>";
$first++;
}
return 1;
}
$save_first=$first;
FIND_USERNAMES($first,$last);
$first=$save_first;
$send = fopen('../tmp/senduser.txt',"w");
$file = fopen("../tmp/baseuser.txt", "r");
while ($first<>$last+1)
{
$username = fgets($file, 4096);
$username = substr($username,0,strlen($username)-1);
$cookieFile = AUTH_SITE_COOKIE_STORE($LOGINURL,$POSTFIELDS);
$result = AUTH_SITE_GET_SEND($GETURL_SEND,$cookieFile,$username);
fputs($send,$username."\n");
sleep(20);
$first++;
}
fclose($file);
fclose($send);
echo "ok";
?> | |