php_curl.dll

niko42

Новичок
Здравствуйте.

Собственно триндец. Есть скриптик, которым загружаем файл на сервер через форму. Использовал cUrl.
Суть всего:
У меня инет с портом 1 гиг.
Когда я загружаю файл на сервер через браузер, то скорость загрузки 8-9 мб.
Потом загружаю файл через скрипт и скорость загрузки 1.6 мб.
Не пойму, что за чудеса. Подскажите, пожалуйста, что это за маразм такой? П.с. в обоих случаях протокол передачи HTTP метод post

PHP:
<?php
	$user = 'Bratok';
	$pass = 'vdvoemsidim';
	$file = $argv[1];
	$link = $argv[2];
function nova($user, $pass, $file) {
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://galaxy-file.com/login.html');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($ch, CURLOPT_POST, 1);  
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5');
curl_setopt($ch, CURLOPT_POSTFIELDS, "login=$user&password=$pass&op=login&redirect=&rand=");  
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie_nov.txt');
$headers = array
(
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3',
    'Accept-Encoding: gzip, deflate',
    'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7'
); 

curl_setopt($ch, CURLOPT_HTTPHEADER,$headers); 
curl_exec($ch);
curl_close($ch);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://galaxy-file.com/');
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie_nov.txt');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);
curl_close($ch);
preg_match('/form-data" action="(.*?)"/i', $result, $match);
preg_match('/name="sess_id" value="(.*?)"/i', $result, $out);
preg_match('/name="srv_tmp_url" value="(.*?)"/i', $result, $tmp);
$ui=$out[1];
$url=$match[1].'&js_on=1&utype=reg&upload_type=file';
$temp=$tmp[1];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5');
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie_nov.txt');

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, Array(
"upload_type"=>"file",
"sess_id"=>"$ui",
"srv_tmp_url"=>"$temp",
"file_1"=>"@$file",
"tos"=>"1",
"submit_btn"=>" Upload! "
));

$test = curl_exec($ch);

curl_close($ch);
print_r ($test);
preg_match("/'fn' value='(.*?)'/i", $test, $up);
$upfile="http://galaxy-file.com/$up[1]";
return $upfile;
}
echo '[>] Start uploading to galaxy-file...';

for($i = 1; $i <=10; $i++){
		$upload = nova($user, $pass, 'C:\Users\12\GGuard.rar');
    if($upload!=false){
		$upload;
		break;
	}
	else
		sleep(5);
	}
	if ($upload == ''){
		file_put_contents($link, '');
	} else {
		file_put_contents($link, $upload);
	}

	echo '[+] File successful uploaded to galaxy-file!';
	
?>
 

Ярослав

Новичок
niko42
Лониг/пароль желательно скрывать, а то может какой-нибудь добрый человек, грохнуть все файлы...

Оба варианта тестируются на одном и том же ПК?
 

niko42

Новичок
Например загрузка через браузер: 100 мб, загружаем за 4-5 секунд - скорость отражает 8 мб на сайте.
Загрузка через скрипт: 100мб. время загрузки почти 2 минуты, скорость отображается через прогу.
Загрузка производится с одного компа. Windwos 7
 

Ярослав

Новичок
niko42
В браузере 1 раз залогинились, добавили файлы, и они же паралельно загружаются.
А в скрипте, на каждый файл, происходит авторизация, потом тащим форму и дальше поочередно загружаем 1 файл. В этом и причина. Нужно переделать чтобы за раз грузилось несколько файлов - тогда будет быстрее.
 

niko42

Новичок
К сожалению, вы не так поняли - на "залогинились" не обращайте внимание.
Суть в другом, что мы загружаем 1 файл 100мб через браузер со скоростью 8 мб.
После загрзуки.
Загружаю этот же файл через скрипт, со скорость почему-то 1.6 мб.

Мне же кажется, что сам curl режет скорость
 
Сверху