Files
Mediafire-Api/lib/Mediafire/Api/.UploadFile.pm.swp

15 lines
28 KiB
Plaintext
Raw Normal View History

2019-05-14 09:55:27 +03:00
b0VIM 7.4f<>\mHvrageeepcserver~vrag/perl/mediafire/lib/Mediafire/Api/UploadFile.pmutf-8 3210#"! U
<00>
<00>
2019-05-08 16:18:51 +03:00
<00>
2019-05-14 09:55:27 +03:00
<00>
A

<00> <00> <00> _ Y ?  <00><00><00><00><00>h< <00><00>{utcb
<00><00><00><00><00>p[Z<00><00><00><00>xD<00><00><00>`YX<00><00><00>{%<00><00><00>wqpX.+ my $code = $res->code; my $re}; my $response = $json_res->{response}; # Get json response } croak "Can't parse respone '" . $res->decoded_content . "' to json"; if ($@) { }; decode_json($res->decoded_content); my $json_res = eval { } croak "Wrong response code checkUploadFile(). Url: '$full_url'. Code: $code"; if ($code ne '200') { my $code = $res->code; my $res = $self->{ua}->get($full_url); my $full_url = $url . '?' . $param_str; my $param_str = join('&', map {"$_=" . uri_escape($param{$_})} keys %param); ); $microseconds => '', 'response_format' => 'json', 'session_token' => $self->{session_token}, 'folder_key' => $self->{path}, 'filename' => $self->{file}->name, 'size' => $self->{file}->size, 'hash' => $self->{file}->hash, my %param = ( my $microseconds = substr(join('', @sec), 0, 13); my @sec = gettimeofday(); my $url = 'https://www.mediafire.com/api/1.5/upload/instant.php'; my ($self) = @_;my $getFileFromCache = sub {}; return $response; $self->{upload_url} = $response->{upload_url}->{resumable}; $self->{file}->key($file_key); my $file_key = $response->{preemptive_quickkey} // $response->{duplicate_quickkey}; p $response; } croak "Can't checkUploadFile. Storage limit exceeded"; if ($response->{storage_limit_exceeded} ne 'no') { # Limit exceeded } croak "checkUploadFile() not success"; if ($response->{result} ne 'Success') { my $response = $json_res->{response}; # Get json response } croak "Can't parse respone '" . $res->decoded_content . "' to json"; if ($@) { }; decode_json($res->decoded_content); my $json_res = eval { } croak "Wrong response code checkUploadFile(). Url: '$full_url'. Code: $code"; if ($code ne '200') { my $code = $res->code; my $res = $self->{ua}->get($full_url); my $full_url = $url . '?' . $param_str; my $param_str = join('&', map {"$_=" . uri_escape($param{$_})} keys %param); ); $microseconds => '', 'response_format' => 'json', 'session_token' => $self->{session_token}, 'folder_key' => $self->{path}, 'preemptive' => 'yes', 'resumable' => 'yes', 'unit_size' => $self->{buff_size}, 'filename' => $self->{file}->name, 'size' => $self->{file}->size, 'hash' => $self->{file}->hash, my %param = ( my $microseconds = substr(join('', @sec), 0, 13); my @sec = gettimeofday(); my $url = 'https://www.mediafire.com/api/1.5/upload/check.php'; my ($self) = @_;my $checkUploadFile = sub {}; return $sha->hexdigest; $sha->addfile($fname); my $sha = Crypt::Digest::SHA256->new(); my ($fname) = @_;my $getSha256Sum = sub {############################ PRIVATE METHODS ############################################my $DEFAULT_BUFF_SIZE = 1048576;our $VERSION = '0.01';use Data::Printer;use Mediafire::Api::File;use IO::Socket::SSL;use Time::HiRes qw/gettimeofday/;use Crypt::Digest::SHA256 qw/sha256_hex/;use JSON::XS;use HTTP::Request;use File::Basename;use LWP::ConnCache;use LWP::UserAgent;use URI::Escape;use Carp qw/croak carp/;use open qw(:std :utf8);use warnings;use strict;use utf8;use 5.008001;package Mediafire::Api::UploadFile;ad <00> <00><00><00><00><00>nA<00><00><00><00><00><00>}|`5<00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> <00> e `
<00>
r
C
2019-05-08 16:18:51 +03:00

2019-05-14 09:55:27 +03:00
<00> <00> <00> r S 5 <00><00><00><00><00><00>q <00><00><00><00>i<00><00><00><00><00><00><00><00><00>J<00><00><00><00><00><00><00><00>mlkaE2<00>V<00><00><00><00><00><00><00>2<00><00><00><00><00><00><00>U<00><00> -name => basename($self->{upload_file}), -size => -s $self->{upload_file}, $self->{file} = Mediafire::Api::File->new( } croak "File '" . $self->{upload_file} . "' not exists"; if (not -f $self->{upload_file}) { $self->{path} = $opt{'-path'} || 'myfiles'; $self->{upload_file} = $opt{'-file'} || croak "You must specify -file param for method uploadFile"; my ($self, %opt) = @_;sub uploadFile {} return $self; bless $self, $class; $self->{buff_size} = $opt{-buff_zize} // $DEFAULT_BUFF_SIZE; $self->{session_token} = $opt{-session_token} // croak "You must specify '-session_token' param"; $self->{ua} = $opt{-ua} // croak "You must specify param '-ua' for method new"; my $self = {}; my ($class, %opt) = @_;sub new {########################################################################################}; return 1; p $json_res; } croak "Not all parts of file '$upload_file' uploaded. Wrong answer from server"; if ($json_res->{response}->{resumable_upload}->{all_units_ready} ne 'yes') { # Check all units ready close $FH; } ++$unit_id; p $json_res; } last; if ($json_res->{response}->{resumable_upload}->{all_units_ready} eq 'yes') { # Check all units ready } croak "Response on url '$url' not success"; if ($json_res->{response}->{result} ne 'Success') { } croak "Can't decode response to json. Response: '" . $res->decoded_content . "'"; if ($@) { }; decode_json($res->decoded_content); $json_res = eval { } croak "Wrong response code on request to url '$url'. Code: '$code'"; if ($code ne '200') { my $code = $res->code; my $res = $self->{ua}->post($url, @headers); ); "Content" => $filebuf, "X-Unit-Id" => $unit_id, "X-Unit-Size" => $bytes, "X-Unit-Hash" => $unit_hash, "X-Filehash" => $self->{file}->hash, "X-Filetype" => $file_type, "X-Filename" => $self->{file}->name, "X-Filesize" => $self->{file}->size, "Origin" => "https://www.mediafire.com", "Referer" => "https://www.mediafire.com/uploads", "Content-Type" => "application/octet-stream", "Accept-Encoding" => "gzip, deflate, br", "Accept-Language" => "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7", "Accept" => "*/*", my @headers = ( my $unit_hash = sha256_hex($filebuf); while (my $bytes = read($FH, $filebuf, $self->{buff_size})) { my $json_res; binmode $FH; open my $FH, "<$upload_file" or croak "Can't open $upload_file $!"; my $filebuf; my $unit_id = 0; my $file_type = 'application/zip'; my $url = $self->{upload_url} . '?' . $param_str; my $param_str = join('&', map {"$_=" . uri_escape($param{$_})} keys %param); ); 'response_format' => 'json', 'uploadkey' => $self->{path}, 'session_token' => $self->{session_token}, my %param = ( my $upload_file = $self->{upload_file}; my ($self) = @_;my $uploadF = sub {# Upload file}; return 1; } croak "Wrong response code on url: '$full_url'. Code: $code";ad<00>
q <00><00><00><00><00>`N<00><00><00><00><00>Sr 8 <00> <00> <00> >  <00> <00> <00> q if ($code ne '200') { my $code = $res->code; my $res = $ua->request($request); my $request = HTTP::Request->new('OPTIONS', $full_url, $headers); my $full_url = $url . '?' . $param_str; my $param_str = join('&', map {"$_=" . uri_escape($param{$_})} keys %param); ]; 'Accept-Language' => 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', 'Accept-Encoding' => 'gzip, deflate, br', 'Accept' => '*/*', 'Access-Control-Request-Headers' => 'content-type,x-filehash,x-filename,x-filesize,x-filetype,x-unit-hash,x-unit-id,x-unit-size', 'Origin' => 'https://www.mediafire.com', 'Access-Control-Request-Method' => 'POST', my $headers = [ ); 'response_format' => 'json', 'uploadkey' => $self->{path}, 'session_token' => $self->{session_token}, my %param = ( my $url = 'https://ul.mediafireuserupload.com/api/1.5/upload/resumable.php'; my $ua = $self->{ua}; my ($self) = @_;my $checkResumeUpload = sub {ad