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

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

?? mediatypes.pm

?? 美國CMU大學開發的操作系統健壯性評測軟件
?? PM
字號:
## $Id: MediaTypes.pm,v 1.1 1999/07/21 19:12:32 kraven Exp $package LWP::MediaTypes;=head1 NAMELWP::MediaTypes - guess media type for a file or a URL=head1 SYNOPSIS use LWP::MediaTypes qw(guess_media_type); $type = guess_media_type("/tmp/foo.gif");=head1 DESCRIPTIONThis module provides functions for handling of media (also known asMIME) types and encodings.  The mapping from file extentions to mediatypes is defined by the F<media.types> file.  If the F<~/.media.types>file exist it is used as a replacement.For backwards compatability we will also look for F<~/.mime.types>.The following functions are exported by default:=over 4=cut####################################################################require Exporter;@ISA = qw(Exporter);@EXPORT = qw(guess_media_type media_suffix);@EXPORT_OK = qw(add_type add_encoding);$VERSION = sprintf("%d.%02d", q$Revision: 1.1 $ =~ /(\d+)\.(\d+)/);require LWP::Debug;use strict;# note: These hashes will also be filled with the entries found in# the 'media.types' file.my %suffixType = (    'txt'   => 'text/plain',    'html'  => 'text/html',    'gif'   => 'image/gif',    'jpg'   => 'image/jpeg',);my %suffixExt = (    'text/plain' => 'txt',    'text/html'  => 'h',    'image/gif'  => 'gif',    'image/jpeg' => 'jpg',);#XXX: there should be some way to define this in the media.types files.my %suffixEncoding = (    'Z'   => 'compress',    'gz'  => 'gzip',    'hqx' => 'x-hqx',    'uu'  => 'x-uuencode',    'z'   => 'x-pack');sub _dump {    require Data::Dumper;    Data::Dumper->new([\%suffixType, \%suffixExt, \%suffixEncoding],		      [qw(*suffixType *suffixExt *suffixEncoding)])->Dump;}read_media_types();=item guess_media_type($filename_or_url, [$header_to_modify])This function tries to guess media type and encoding for given file.It returns the content-type, which is a string like C<"text/html">.In array context it also returns any content-encodings applied (in theorder used to encode the file).  You can pass a URI::URL objectreference, instead of the file name, as the first parameter too.If the type can not be deduced from looking at the file name only,then guess_media_type() will let the C<-T> Perl operator take a look.If this works (and C<-T> returns a TRUE value) then we returnI<text/plain> as the type, otherwise we returnI<application/octet-stream> as the type.The optional second argument should be a reference to a HTTP::Headersobject (or any object that implement the $obj->header method in asimilar way).  When present we will set the values of the'Content-Type' and 'Content-Encoding' for this header.=cutsub guess_media_type{    my($file, $header) = @_;    return undef unless defined $file;    my $fullname;    if (ref($file)) {	# assume URI::URL object	$file = $file->path;	#XXX should handle non http:, file: or ftp: URLs differently    } else {	$fullname = $file;  # enable peek at actual file    }    my @encoding = ();    my $ct = undef;    for (file_exts($file)) {	# first check this dot part as encoding spec	if (exists $suffixEncoding{$_}) {	    unshift(@encoding, $suffixEncoding{$_});	    next;	}	if (exists $suffixEncoding{lc $_}) {	    unshift(@encoding, $suffixEncoding{lc $_});	    next;	}	# check content-type	if (exists $suffixType{$_}) {	    $ct = $suffixType{$_};	    last;	}	if (exists $suffixType{lc $_}) {	    $ct = $suffixType{lc $_};	    last;	}	# don't know nothing about this dot part, bail out	last;    }    unless (defined $ct) {	# Take a look at the file	if (defined $fullname) {	    $ct = (-T $fullname) ? "text/plain" : "application/octet-stream";	} else {	    $ct = "application/octet-stream";	}    }    if ($header) {	$header->header('Content-Type' => $ct);	$header->header('Content-Encoding' => \@encoding) if @encoding;    }    wantarray ? ($ct, @encoding) : $ct;}=item media_suffix($type,...)This function will return all suffixes that can be used to denote thespecified media type(s).  Wildcard types can be used.  In scalarcontext it will return the first suffix found.Examples:  @suffixes = media_suffix('image/*', 'audio/basic');  $suffix = media_suffix('text/html');=cutsub media_suffix {    if (!wantarray && @_ == 1 && $_[0] !~ /\*/) {	return $suffixExt{$_[0]};    }    my(@type) = @_;    my(@suffix, $ext, $type);    foreach (@type) {	if (s/\*/.*/) {	    while(($ext,$type) = each(%suffixType)) {		push(@suffix, $ext) if $type =~ /^$_$/;	    }	} else {	    while(($ext,$type) = each(%suffixType)) {		push(@suffix, $ext) if $type eq $_;	    }	}    }    wantarray ? @suffix : $suffix[0];}sub file_exts {    my($file) = @_;    $file =~ s,.*/,,;   # only basename left    my @parts = reverse split(/\./, $file);    pop(@parts);        # never concider first part    @parts;}=backThe following functions are only exported by explict request:=over 4=item add_type($type, @exts)Associate a list of file extensions with the given media type.Example:    add_type("x-world/x-vrml" => qw(wrl vrml));=cutsub add_type {    my($type, @exts) = @_;    for my $ext (@exts) {	$ext =~ s/^\.//;	$suffixType{$ext} = $type;    }    $suffixExt{$type} = $exts[0] if @exts;}=item add_encoding($type, @ext)Associate a list of file extensions with and encoding type.Example: add_encoding("x-gzip" => "gz");=cutsub add_encoding{    my($type, @exts) = @_;    for my $ext (@exts) {	$ext =~ s/^\.//;	$suffixEncoding{$ext} = $type;    }}=item read_media_types(@files)Parse a media types file from disk and add the type mappings found there.Example:    read_media_types("conf/mime.types");=cutsub read_media_types {    my(@files) = @_;    local($/, $_) = ("\n", undef);  # ensure correct $INPUT_RECORD_SEPARATOR    my @priv_files = ();    push(@priv_files, "$ENV{HOME}/.media.types", "$ENV{HOME}/.mime.types")	if defined $ENV{HOME};  # Some doesn't have a home (for instance Win32)    # Try to locate "media.types" file, and initialize %suffixType from it    my $typefile;    unless (@files) {	@files = map {"$_/LWP/media.types"} @INC;	push @files, @priv_files;    }    for $typefile (@files) {	local(*TYPE);	open(TYPE, $typefile) || next;        LWP::Debug::debug("Reading media types from $typefile");	while (<TYPE>) {	    next if /^\s*#/; # comment line	    next if /^\s*$/; # blank line	    s/#.*//;         # remove end-of-line comments	    my($type, @exts) = split(' ', $_);	    add_type($type, @exts);	}	close(TYPE);    }}1;=back =head1 COPYRIGHTCopyright 1995-1998 Gisle Aas.This library is free software; you can redistribute it and/ormodify it under the same terms as Perl itself.=cut

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91成人国产精品| 日韩欧美久久久| 日韩欧美色综合网站| 国产亚洲精品福利| 水野朝阳av一区二区三区| 国产黄色精品视频| 欧美一区二区三区色| 亚洲日本免费电影| 国产成人亚洲综合a∨婷婷 | 欧美日韩一级片网站| 国产精品欧美综合在线| 日韩av在线发布| 精品婷婷伊人一区三区三| 中文字幕乱码亚洲精品一区| 久久激情五月激情| 欧美日韩一级黄| 亚洲国产一区二区视频| 91在线视频18| 国产精品久久久一区麻豆最新章节| 亚洲图片欧美激情| 91色.com| 美女视频免费一区| 亚洲视频一二三| 制服视频三区第一页精品| 国产成人综合精品三级| 一卡二卡欧美日韩| 久久蜜桃一区二区| 欧美色窝79yyyycom| 国内精品自线一区二区三区视频| 综合久久久久久久| 日韩一级免费观看| 91小视频在线观看| 狠狠久久亚洲欧美| 一区二区三区在线播放| 精品对白一区国产伦| 亚洲精品午夜久久久| 国产一区999| 国产精品高潮呻吟| 色综合天天综合| 亚洲国产精品久久久男人的天堂| 精品视频一区二区三区免费| 午夜精品福利一区二区三区蜜桃| 欧美三级在线视频| 视频一区二区不卡| ww久久中文字幕| 亚洲欧洲国产专区| 在线一区二区三区| 中文字幕国产一区| 亚洲欧洲精品一区二区精品久久久 | 欧美人妇做爰xxxⅹ性高电影| 国产麻豆成人传媒免费观看| 亚洲bt欧美bt精品777| 亚洲品质自拍视频网站| 国产欧美日韩亚州综合| 日韩一区二区三区在线视频| 色综合久久中文字幕| 国产v综合v亚洲欧| 老司机精品视频在线| 午夜激情久久久| 99精品视频免费在线观看| 国产精品久久久久三级| 在线观看亚洲精品视频| 麻豆中文一区二区| 国产精品久久久久久久蜜臀| 欧美日韩精品电影| 国产精品1024| 亚洲成人福利片| 国产亚洲美州欧州综合国| 91福利区一区二区三区| 九一久久久久久| 亚洲青青青在线视频| 精品久久国产97色综合| 91国内精品野花午夜精品| 久久精品国产成人一区二区三区 | 日韩美女视频在线| 91免费在线播放| 国内精品伊人久久久久av一坑 | 在线看日本不卡| 精品一二三四在线| 亚洲精品日日夜夜| 国产偷国产偷精品高清尤物 | 欧美精品一区二区三区久久久| 成人av集中营| 老司机精品视频一区二区三区| 亚洲人成亚洲人成在线观看图片 | 国产精品一二一区| 水野朝阳av一区二区三区| 国产精品伦理一区二区| 精品少妇一区二区三区免费观看| 99久久综合色| 国产精品乡下勾搭老头1| 日韩精品91亚洲二区在线观看| 亚洲三级免费电影| 国产日韩欧美精品电影三级在线| 91精品国产色综合久久 | 国产成人精品一区二区三区网站观看| 亚欧色一区w666天堂| 亚洲男同性视频| 国产精品乱码妇女bbbb| 精品久久久久久久一区二区蜜臀| 欧美猛男男办公室激情| 91黄色免费网站| 一本到不卡免费一区二区| 国产白丝精品91爽爽久久| 国产一区二区中文字幕| 老司机精品视频在线| 蜜臀精品一区二区三区在线观看 | 色综合久久久久久久| 国产69精品久久久久777| 国产一区二区三区视频在线播放| 蜜臀av一级做a爰片久久| 午夜视频一区在线观看| 亚洲一区在线观看网站| 亚洲自拍偷拍九九九| 亚洲欧美激情视频在线观看一区二区三区 | 99久久夜色精品国产网站| 国产成人精品三级| 岛国av在线一区| 成人国产精品视频| 99久久免费国产| 99在线视频精品| 色哟哟精品一区| 欧美亚洲自拍偷拍| 91精品婷婷国产综合久久竹菊| 欧美一卡二卡三卡四卡| 日韩免费高清电影| 国产人成亚洲第一网站在线播放| 国产精品天美传媒| 一区二区欧美在线观看| 天堂蜜桃91精品| 国内久久婷婷综合| 99久久777色| 欧美日韩性生活| 精品剧情v国产在线观看在线| 久久你懂得1024| 自拍偷拍欧美精品| 亚洲成人先锋电影| 激情综合色综合久久| 成人国产一区二区三区精品| 日本高清不卡一区| 日韩手机在线导航| 国产精品久久久久影院亚瑟| 亚洲国产一区二区三区| 久久机这里只有精品| 成人av网站在线| 欧美精品xxxxbbbb| 久久久久久久久久久电影| 亚洲精品网站在线观看| 看片的网站亚洲| 91热门视频在线观看| 欧美成人a视频| 亚洲欧美日韩一区二区| 久久99国产精品免费| 不卡高清视频专区| 制服丝袜av成人在线看| 国产精品久线观看视频| 日本女人一区二区三区| 99精品视频一区二区三区| 日韩免费福利电影在线观看| 最近中文字幕一区二区三区| 日韩黄色在线观看| 91麻豆福利精品推荐| 久久女同性恋中文字幕| 午夜欧美大尺度福利影院在线看| 国产一区中文字幕| 欧美老女人在线| 亚洲欧美激情插| 国v精品久久久网| 欧美一级黄色录像| 一区二区三区自拍| 粉嫩aⅴ一区二区三区四区五区| 欧美卡1卡2卡| 亚洲综合丝袜美腿| 9i看片成人免费高清| 久久久99精品免费观看不卡| 日韩精品一二区| 99精品视频中文字幕| 久久伊人中文字幕| 麻豆91在线观看| 欧美色爱综合网| 最新日韩在线视频| 高清成人免费视频| 久久久99久久| 国产精品18久久久久久久久| 欧美精品一区二区蜜臀亚洲| 日韩高清在线一区| 欧美日韩中文字幕精品| 一区二区三区资源| 99视频在线精品| 成人欧美一区二区三区1314| 国产成人aaa| 国产女同性恋一区二区| 国产99久久久国产精品免费看| 亚洲精品一区二区三区香蕉 | 视频一区在线视频| 在线成人小视频| 久久精品72免费观看| 日韩一区二区三区三四区视频在线观看| 亚洲国产中文字幕| 88在线观看91蜜桃国自产|