亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? internet.pm

?? ARM上的如果你對底層感興趣
?? PM
?? 第 1 頁 / 共 3 頁
字號:
#######################################################################
#
# Win32::Internet - Perl Module for Internet Extensions
# ^^^^^^^^^^^^^^^
# This module creates an object oriented interface to the Win32
# Internet Functions (WININET.DLL).
#
# Version: 0.08 (14 Feb 1997)
#
#######################################################################

# changes:
# - fixed 2 bugs in Option(s) related subs
# - works with build 30x also

package Win32::Internet;

require Exporter;       # to export the constants to the main:: space
require DynaLoader;     # to dynuhlode the module.

# use Win32::WinError;    # for windows constants.

@ISA= qw( Exporter DynaLoader );
@EXPORT = qw(
    HTTP_ADDREQ_FLAG_ADD
    HTTP_ADDREQ_FLAG_REPLACE
    HTTP_QUERY_ALLOW
    HTTP_QUERY_CONTENT_DESCRIPTION
    HTTP_QUERY_CONTENT_ID
    HTTP_QUERY_CONTENT_LENGTH
    HTTP_QUERY_CONTENT_TRANSFER_ENCODING
    HTTP_QUERY_CONTENT_TYPE
    HTTP_QUERY_COST
    HTTP_QUERY_CUSTOM
    HTTP_QUERY_DATE
    HTTP_QUERY_DERIVED_FROM
    HTTP_QUERY_EXPIRES
    HTTP_QUERY_FLAG_REQUEST_HEADERS
    HTTP_QUERY_FLAG_SYSTEMTIME
    HTTP_QUERY_LANGUAGE
    HTTP_QUERY_LAST_MODIFIED
    HTTP_QUERY_MESSAGE_ID
    HTTP_QUERY_MIME_VERSION
    HTTP_QUERY_PRAGMA
    HTTP_QUERY_PUBLIC
    HTTP_QUERY_RAW_HEADERS
    HTTP_QUERY_RAW_HEADERS_CRLF
    HTTP_QUERY_REQUEST_METHOD
    HTTP_QUERY_SERVER
    HTTP_QUERY_STATUS_CODE
    HTTP_QUERY_STATUS_TEXT
    HTTP_QUERY_URI
    HTTP_QUERY_USER_AGENT
    HTTP_QUERY_VERSION
    HTTP_QUERY_WWW_LINK
    ICU_BROWSER_MODE
    ICU_DECODE
    ICU_ENCODE_SPACES_ONLY
    ICU_ESCAPE
    ICU_NO_ENCODE
    ICU_NO_META
    ICU_USERNAME
    INTERNET_CONNECT_FLAG_PASSIVE
    INTERNET_FLAG_ASYNC
    INTERNET_HYPERLINK
    INTERNET_FLAG_KEEP_CONNECTION
    INTERNET_FLAG_MAKE_PERSISTENT
    INTERNET_FLAG_NO_AUTH
    INTERNET_FLAG_NO_AUTO_REDIRECT
    INTERNET_FLAG_NO_CACHE_WRITE
    INTERNET_FLAG_NO_COOKIES
    INTERNET_FLAG_READ_PREFETCH
    INTERNET_FLAG_RELOAD
    INTERNET_FLAG_RESYNCHRONIZE
    INTERNET_FLAG_TRANSFER_ASCII
    INTERNET_FLAG_TRANSFER_BINARY
    INTERNET_INVALID_PORT_NUMBER
    INTERNET_INVALID_STATUS_CALLBACK
    INTERNET_OPEN_TYPE_DIRECT
    INTERNET_OPEN_TYPE_PROXY
    INTERNET_OPEN_TYPE_PROXY_PRECONFIG
    INTERNET_OPTION_CONNECT_BACKOFF
    INTERNET_OPTION_CONNECT_RETRIES
    INTERNET_OPTION_CONNECT_TIMEOUT
    INTERNET_OPTION_CONTROL_SEND_TIMEOUT
    INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT
    INTERNET_OPTION_DATA_SEND_TIMEOUT
    INTERNET_OPTION_DATA_RECEIVE_TIMEOUT
    INTERNET_OPTION_HANDLE_SIZE
    INTERNET_OPTION_LISTEN_TIMEOUT
    INTERNET_OPTION_PASSWORD
    INTERNET_OPTION_READ_BUFFER_SIZE
    INTERNET_OPTION_USER_AGENT
    INTERNET_OPTION_USERNAME
    INTERNET_OPTION_VERSION
    INTERNET_OPTION_WRITE_BUFFER_SIZE
    INTERNET_SERVICE_FTP
    INTERNET_SERVICE_GOPHER
    INTERNET_SERVICE_HTTP
    INTERNET_STATUS_CLOSING_CONNECTION
    INTERNET_STATUS_CONNECTED_TO_SERVER    
    INTERNET_STATUS_CONNECTING_TO_SERVER
    INTERNET_STATUS_CONNECTION_CLOSED
    INTERNET_STATUS_HANDLE_CLOSING
    INTERNET_STATUS_HANDLE_CREATED
    INTERNET_STATUS_NAME_RESOLVED
    INTERNET_STATUS_RECEIVING_RESPONSE
    INTERNET_STATUS_REDIRECT    
    INTERNET_STATUS_REQUEST_COMPLETE    
    INTERNET_STATUS_REQUEST_SENT    
    INTERNET_STATUS_RESOLVING_NAME    
    INTERNET_STATUS_RESPONSE_RECEIVED
    INTERNET_STATUS_SENDING_REQUEST    
);


#######################################################################
# This AUTOLOAD is used to 'autoload' constants from the constant()
# XS function.  If a constant is not found then control is passed
# to the AUTOLOAD in AutoLoader.
#

sub AUTOLOAD {
    my($constname);
    ($constname = $AUTOLOAD) =~ s/.*:://;
    #reset $! to zero to reset any current errors.
    $!=0;
    my $val = constant($constname, @_ ? $_[0] : 0);
    if ($! != 0) {

        # [dada] This results in an ugly Autoloader error
        #if ($! =~ /Invalid/) {
        #  $AutoLoader::AUTOLOAD = $AUTOLOAD;
        #  goto &AutoLoader::AUTOLOAD;
        #} else {
      
        # [dada] ... I prefer this one :)
  
            ($pack,$file,$line) = caller; undef $pack;
            die "Win32::Internet::$constname is not defined, used at $file line $line.";
  
        #}
    }
    eval "sub $AUTOLOAD { $val }";
    goto &$AUTOLOAD;
}


#######################################################################
# STATIC OBJECT PROPERTIES
#
$VERSION = "0.08";

%callback_code = ();
%callback_info = ();


#######################################################################
# PUBLIC METHODS
#

#======== ### CLASS CONSTRUCTOR
sub new {
#========
    my($class, $useragent, $opentype, $proxy, $proxybypass, $flags) = @_;
    my $self = {};  

    if(ref($useragent) and ref($useragent) eq "HASH") {
        $opentype       = $useragent->{'opentype'};
        $proxy          = $useragent->{'proxy'};
        $proxybypass    = $useragent->{'proxybypass'};
        $flags          = $useragent->{'flags'};
        my $myuseragent = $useragent->{'useragent'};
        undef $useragent;
        $useragent      = $myuseragent;
    }

    $useragent = "Perl-Win32::Internet/".$VERSION       unless defined($useragent);
    $opentype = constant("INTERNET_OPEN_TYPE_DIRECT",0) unless defined($opentype);
    $proxy = ""                                         unless defined($proxy);
    $proxybypass = ""                                   unless defined($proxybypass);
    $flags = 0                                          unless defined($flags);


    my $handle = InternetOpen($useragent, $opentype, $proxy, $proxybypass, $flags);
    if ($handle) {
        $self->{'connections'} = 0;
        $self->{'pasv'}        = 0;
        $self->{'handle'}      = $handle; 
        $self->{'useragent'}   = $useragent;
        $self->{'proxy'}       = $proxy;
        $self->{'proxybypass'} = $proxybypass;
        $self->{'flags'}       = $flags;
        $self->{'Type'}        = "Internet";
    
        # [dada] I think it's better to call SetStatusCallback explicitly...
        #if($flags & constant("INTERNET_FLAG_ASYNC",0)) {
        #  my $callbackresult=InternetSetStatusCallback($handle);
        #  if($callbackresult==&constant("INTERNET_INVALID_STATUS_CALLBACK",0)) {
        #    $self->{'Error'} = -2;
        #  }
        #}

        bless $self;
    } else {
        $self->{'handle'} = undef;
        bless $self;
    }
    $self;
}  


#============
sub OpenURL {
#============
    my($self,$new,$URL) = @_;
    return undef unless ref($self);

    my $newhandle=InternetOpenUrl($self->{'handle'},$URL,"",0,0,0);
    if(!$newhandle) {
        $self->{'Error'} = "Cannot open URL.";
        return undef;
    } else {
        $self->{'connections'}++;
        $_[1] = _new($newhandle);
        $_[1]->{'Type'} = "URL";
        $_[1]->{'URL'}  = $URL;
        return $newhandle;
    }
}


#================
sub TimeConvert {
#================
    my($self, $sec, $min, $hour, $day, $mon, $year, $wday, $rfc) = @_;
    return undef unless ref($self);

    if(!defined($rfc)) {
        return InternetTimeToSystemTime($sec);
    } else {
        return InternetTimeFromSystemTime($sec, $min, $hour, 
                                          $day, $mon, $year, 
                                          $wday, $rfc);
    }
}


#=======================
sub QueryDataAvailable {
#=======================
    my($self) = @_;
    return undef unless ref($self);
  
    return InternetQueryDataAvailable($self->{'handle'});
}


#=============
sub ReadFile {
#=============
    my($self, $buffersize) = @_;
    return undef unless ref($self);

    my $howmuch = InternetQueryDataAvailable($self->{'handle'});
    $buffersize = $howmuch unless defined($buffersize);
    return InternetReadFile($self->{'handle'}, ($howmuch<$buffersize) ? $howmuch 
                                                                      : $buffersize);
}


#===================
sub ReadEntireFile {
#===================
    my($handle) = @_;
    my $content    = "";
    my $buffersize = 16000;
    my $howmuch    = 0;
    my $buffer     = "";

    $handle = $handle->{'handle'} if defined($handle) and ref($handle);

    $howmuch = InternetQueryDataAvailable($handle);
    # print "\nReadEntireFile: $howmuch bytes to read...\n";
  
    while($howmuch>0) {
        $buffer = InternetReadFile($handle, ($howmuch<$buffersize) ? $howmuch 
                                                                   : $buffersize);
        # print "\nReadEntireFile: ", length($buffer), " bytes read...\n";
    
        if(!defined($buffer)) {
            return undef;
        } else {
            $content .= $buffer;
        }
        $howmuch = InternetQueryDataAvailable($handle);
        # print "\nReadEntireFile: still $howmuch bytes to read...\n";
    
    }
    return $content;
}


#=============
sub FetchURL {
#=============
    # (OpenURL+Read+Close)...
    my($self, $URL) = @_;
    return undef unless ref($self);

    my $newhandle = InternetOpenUrl($self->{'handle'}, $URL, "", 0, 0, 0);
    if(!$newhandle) {
        $self->{'Error'} = "Cannot open URL.";
        return undef;
    } else {
        my $content = ReadEntireFile($newhandle);
        InternetCloseHandle($newhandle);
        return $content;
    }
}


#================
sub Connections {
#================
    my($self) = @_;
    return undef unless ref($self);

    return $self->{'connections'} if $self->{'Type'} eq "Internet";
    return undef;
}


#================
sub GetResponse {
#================
    my($num, $text) = InternetGetLastResponseInfo();
    return $text;
}

#===========
sub Option {
#===========
    my($self, $option, $value) = @_;
    return undef unless ref($self);

    my $retval = 0;

    $option = constant("INTERNET_OPTION_USER_AGENT", 0) unless defined($option);
  
    if(!defined($value)) {
        $retval = InternetQueryOption($self->{'handle'}, $option);
    } else {
        $retval = InternetSetOption($self->{'handle'}, $option, $value);
    }
    return $retval;
}


#==============
sub UserAgent {
#==============
    my($self, $value) = @_;
    return undef unless ref($self);

    return Option($self, constant("INTERNET_OPTION_USER_AGENT", 0), $value);
}


#=============
sub Username {
#=============
    my($self, $value) = @_;
    return undef unless ref($self);
  
    if($self->{'Type'} ne "HTTP" and $self->{'Type'} ne "FTP") {
        $self->{'Error'} = "Username() only on FTP or HTTP sessions.";
        return undef;
    }

    return Option($self, constant("INTERNET_OPTION_USERNAME", 0), $value);
}


#=============
sub Password {
#=============
    my($self, $value)=@_;
    return undef unless ref($self);

    if($self->{'Type'} ne "HTTP" and $self->{'Type'} ne "FTP") {
        $self->{'Error'} = "Password() only on FTP or HTTP sessions.";
        return undef;
    }

    return Option($self, constant("INTERNET_OPTION_PASSWORD", 0), $value);
}


#===================
sub ConnectTimeout {
#===================
    my($self, $value) = @_;
    return undef unless ref($self);

    return Option($self, constant("INTERNET_OPTION_CONNECT_TIMEOUT", 0), $value);
}


#===================
sub ConnectRetries {
#===================
    my($self, $value) = @_;
    return undef unless ref($self);

    return Option($self, constant("INTERNET_OPTION_CONNECT_RETRIES", 0), $value);
}


#===================
sub ConnectBackoff {
#===================
    my($self,$value)=@_;
    return undef unless ref($self);

    return Option($self, constant("INTERNET_OPTION_CONNECT_BACKOFF", 0), $value);
}


#====================
sub DataSendTimeout {
#====================
    my($self,$value) = @_;
    return undef unless ref($self);

    return Option($self, constant("INTERNET_OPTION_DATA_SEND_TIMEOUT", 0), $value);
}


#=======================
sub DataReceiveTimeout {
#=======================
    my($self, $value) = @_;
    return undef unless ref($self);

    return Option($self, constant("INTERNET_OPTION_DATA_RECEIVE_TIMEOUT", 0), $value);
}


#==========================
sub ControlReceiveTimeout {
#==========================
    my($self, $value) = @_;
    return undef unless ref($self);

    return Option($self, constant("INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT", 0), $value);
}


#=======================

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频国内一区二区| 日韩影院免费视频| 亚洲成av人片www| 免费精品视频在线| www.久久精品| 欧美一区二区三区在线观看视频| 久久久精品免费观看| 亚洲欧洲综合另类在线 | 欧美日韩国产区一| 精品乱人伦小说| 亚洲欧洲成人精品av97| 欧美年轻男男videosbes| 欧美高清性hdvideosex| 国产色爱av资源综合区| 亚洲国产精品久久人人爱蜜臀| 老司机免费视频一区二区| av电影一区二区| 欧美人与z0zoxxxx视频| 国产精品视频在线看| 天天射综合影视| 成人18精品视频| 日韩精品一区二区三区中文不卡| 亚洲婷婷综合色高清在线| 蜜桃精品在线观看| 欧美亚洲愉拍一区二区| 国产日韩欧美精品在线| 日本麻豆一区二区三区视频| 99视频精品免费视频| 欧美成人一区二区| 一区二区不卡在线播放| 成人晚上爱看视频| 日韩一级成人av| 亚洲一区二区在线播放相泽| 成人黄色在线网站| 精品三级在线看| 日韩精品久久理论片| 日本道精品一区二区三区| 久久久不卡网国产精品一区| 日韩国产精品久久| 91亚洲资源网| 欧美国产日韩亚洲一区| 五月婷婷另类国产| 裸体在线国模精品偷拍| 在线综合亚洲欧美在线视频| 日韩不卡一区二区| 色视频成人在线观看免| 国产精品高清亚洲| 国产成人免费在线| 欧美精品一区二区三区视频| 日本vs亚洲vs韩国一区三区二区| 精品视频在线免费| 亚洲一区二区偷拍精品| 91成人免费电影| 国产精品女人毛片| 国产一区欧美日韩| 欧美一区欧美二区| 亚洲一区二区三区不卡国产欧美| 91一区二区三区在线观看| 中文在线免费一区三区高中清不卡| 免费日本视频一区| 欧美精品国产精品| 日日夜夜一区二区| 亚欧色一区w666天堂| 激情伊人五月天久久综合| 欧美高清视频不卡网| 亚洲在线中文字幕| 欧美影院精品一区| 一区二区欧美在线观看| 色综合久久中文综合久久97| 国产精品国产自产拍高清av王其| 成人手机电影网| 国产精品国产自产拍高清av王其| 成人黄色软件下载| 国产精品女上位| 91视频在线观看| 亚洲欧美视频一区| 在线观看一区二区视频| 亚洲最新视频在线观看| 色94色欧美sute亚洲13| 亚洲精品大片www| 欧美日韩亚洲国产综合| 日本少妇一区二区| 精品久久一二三区| 国产精品一区二区男女羞羞无遮挡| 日韩精品一区二| 国产成人在线免费观看| 欧美国产禁国产网站cc| 97久久超碰国产精品| 亚洲精品成人天堂一二三| 欧美日韩一区二区三区不卡| 美女网站一区二区| 国产欧美一区二区三区网站| av一区二区三区四区| 亚洲美女视频在线观看| 欧美日韩国产免费| 精品一区二区三区免费| 国产精品乱人伦| 色婷婷久久99综合精品jk白丝 | 欧美视频自拍偷拍| 久久久久久久久久久99999| 欧美中文字幕不卡| 国产激情一区二区三区四区| 午夜成人免费视频| 一级特黄大欧美久久久| 国产精品乱码人人做人人爱| 欧美v国产在线一区二区三区| 欧美性大战久久久久久久| 国产不卡视频一区二区三区| 国产在线一区二区| 综合久久综合久久| 欧美亚洲国产怡红院影院| 日韩国产精品久久久久久亚洲| 欧美一级国产精品| 国产成人一级电影| 自拍偷自拍亚洲精品播放| 亚洲一区二区三区四区不卡| 欧美一级二级三级乱码| 国产成人午夜视频| 亚洲精品成a人| 欧美成人午夜电影| 色嗨嗨av一区二区三区| 精品制服美女丁香| 亚洲综合图片区| 国产无人区一区二区三区| 欧美日韩在线播放三区| 国产精品综合久久| 亚洲成av人片一区二区三区| 国产亚洲成av人在线观看导航| 欧美色图在线观看| 粉嫩av亚洲一区二区图片| 日本成人在线电影网| 亚洲欧美日韩久久精品| 久久久久久久综合色一本| 欧美揉bbbbb揉bbbbb| 国产成人精品免费| 欧美aaa在线| 亚洲欧美日韩在线| 日韩女优视频免费观看| 色婷婷久久一区二区三区麻豆| 精品一区二区日韩| 偷窥少妇高潮呻吟av久久免费| 国产精品国产三级国产三级人妇| 日韩精品最新网址| 欧美亚洲国产怡红院影院| www..com久久爱| 国产久卡久卡久卡久卡视频精品| 亚洲不卡在线观看| 中文字幕佐山爱一区二区免费| 久久久欧美精品sm网站| 欧美人妇做爰xxxⅹ性高电影| av电影在线观看完整版一区二区| 黄网站免费久久| 免费观看日韩av| 五月天亚洲婷婷| 久久免费电影网| 日本一道高清亚洲日美韩| 欧美日韩高清在线| 秋霞av亚洲一区二区三| 不卡视频一二三| 国产日韩欧美高清| 日日噜噜夜夜狠狠视频欧美人| 成人黄色小视频在线观看| 日韩欧美国产三级电影视频| 亚洲一区二区不卡免费| 97久久精品人人爽人人爽蜜臀| 欧美精品一区二区三区一线天视频| 亚洲高清不卡在线观看| 制服丝袜一区二区三区| 麻豆精品久久精品色综合| 五月婷婷激情综合| 亚洲va中文字幕| 亚洲永久免费视频| 亚洲国产精品综合小说图片区| 一区二区欧美国产| 一区二区三区四区国产精品| 依依成人综合视频| 亚洲欧美激情插| 成人国产精品免费观看动漫| 久久99精品网久久| 国产又粗又猛又爽又黄91精品| 精品午夜久久福利影院| 韩日av一区二区| 国产馆精品极品| 国产精品中文有码| 国产成人av电影在线| 国产高清在线精品| www.亚洲精品| 91亚洲精品久久久蜜桃网站| 91美女片黄在线观看| 日本大香伊一区二区三区| 欧美性欧美巨大黑白大战| 欧美日韩黄视频| 91精品国产综合久久小美女| 日韩欧美成人一区二区| 久久久噜噜噜久久中文字幕色伊伊 | 在线观看91精品国产麻豆| 欧美福利一区二区| 日韩精品中文字幕一区二区三区| 精品日韩在线一区| 国产亚洲成年网址在线观看|