2005年9月7日
javamail 海风 发表于 2005-7-13 23:04:29 |
http://www.javachina.cn/Commend.jsp
从Sun的官方网站上下载到JavaMail类文件包。除 此之外还需要Sun的JAF(JavaBeans Activation Framework ),否则JavaMail将不能运行。
HTML邮件表格
JSP最大的特色之一就是能把项目分类或划分成许多组件,从而提高了组件的重利用率, 也降低了编程的难度。因此我们在编程的时候也要想着如何把大的问题划分成一个个模块: 模块一 一个HTML表单,能把电子邮件信息传送给JSP程序
模块二 一个处理和发送邮件的JSP页面
JavaMail的基础知识
使用JavaMail是发送电子邮件所需要的组件 。
JavaMail的机构使处理电子邮件非常容易。下面列出了一些我们需要的类:
1.Properties
JavaMail需要Properties来创建一个session对象。它将寻找字符串"mail.smtp.host", 属性值就是发送邮件的主机,如:
Properties props = new Properties ();
props.put("mail.smtp.host", "smtp.abcd.com");//可以换上你的smtp主机名。
2.Session
这个Session类代表JavaMail 中的一个邮件session. 每一个基于 JavaMail的应用程序 至少有一个session但是可以有任意多的session。 在这个例子中, Session对象需要知道用 来处理邮件的SMTP 服务器。为了做到这一点,你可以参照下面的例子用Properties 来创建 一个Session 对象
Session sendMailSession;
sendMailSession = Session.getInstance(props, null);
3.Transport
邮件是既可以被发送也可以被受到。JavaMail使用了两个不同的类来完成这两个功能: Transport 和 Store。 Transport 是用来发送信息的,而Store用来收信。对于这的教程我 们只需要用到Transport对象。Store的用法请参看Sun的JavaMail文档。
用法:Transport transport;
transport = sendMailSession.getTransport("smtp");
用JavaMail Session对象的getTransport 方法来初始化Transport。传过去的字符串申 明了对象所要使用的协议,如"smtp"。这将为我们省了很多时间。因为JavaMail以境内置了 很多协议的实现方法。
注意: JavaMail并不是绝对支持每一个协议,目前支持IMAP、 SMTP和 POP3。
4.Message
Message对象将存储我们实际发送的电子邮件信息,Message对象被作为一个MimeMessag e对象来创建并且需要知道应当选择哪一个JavaMail session。
使用方法是:Message newMessage = new MimeMessage(sendMailSession);
JavaMail结合JSP
一、构建JSP程序
前面我们建造了一个HTML表单用来发送邮件信息,又介绍了JavaMail中的一些对象和方 法。现在我们将把这些组件集合起来来构成我们的邮件系统。
第一步也是最重要的一步,确信在page指令中导入了需要的类。除了JavaMail的相关的 类和JAF外,不要忘了导入java.util.date ,因为我们需要它来给邮件盖上时间戳。
<%
@ page import= " javax.mail.*, javax.mail.internet.*, javax.activation.*, java.util.*"
%>
下一步,创建邮件发送出去的确认信息,如"你的邮件已发送,请返回"
二、创建并发送Message对象
创建Message 对象的方法我们在第三课中就以讨论过了,我们可以用Message来处理消息 了,就像在Message对象上使用get和set属性一样简单。在这一部分使用了很多request.get Parameter()。
newMessage.setFrom(new InternetAddress(request.getParameter("from")));
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(reques t.getParameter("to")));
newMessage.setSubject(request.getParameter("subject"));
newMessage.setSentDate(new Date());
newMessage.setText(request.getParameter("text"));
现在终于可以把消息发送出去了:
transport.send(newMessage);
三、完整的程序
上面的都是一些零零碎碎的代码,现在我们把它们写成一个完整的JSP程序。注意要捕捉 任何错误并把它们显示给用户。
源程序二:JavaMail 电子邮件发送系统的JSP实现程序代码:
<%@ page
import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util .*"
%>
<html>
<head>
<TITLE>JavaMail 电子邮件发送系统</TITLE>
</HEAD>
<BODY>
<%
try{
Properties props = new Properties();
Session sendMailSession;
Store store;
Transport transport;
sendMailSession = Session.getInstance(props, null);
props.put("mail.smtp.host", "smtp.abcd.com");
Message newMessage = new MimeMessage(sendMailSession);
newMessage.setFrom(new InternetAddress(request.getParameter("from")));
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(re quest.getParameter("to")));
newMessage.setSubject(request.getParameter("subject"));
newMessage.setSentDate(new Date());
newMessage.setText(request.getParameter("text"));
transport = sendMailSession.getTransport("smtp");
transport.send(newMessage);
%>
<p>你的邮件已发送,请返回。</p>
<%
}
catch(MessagingException m)
{
out.println(m.toString());
}
%>
</BODY>
</HTML> | |
posted @
2005-09-07 11:24 子玉 阅读(463) |
评论 (0) |
编辑 收藏
通过JavaMail访问Hotmail邮箱
作者: zhaozexin
出处: blog
责任编辑: 方舟
[ 2005-02-12 10:40 ]
相信许多人都有MSN聊天工具的帐号,例如abc@hotmail.com ,这个账号其实也是一个邮件地址,可以进行正常的邮件收发功能,你可以通过网址 http://www.hotmail.com 来访问和操作这个邮箱进行邮件的收发。但是这个邮箱有一个限制就是它并不提供POP3或者SMTP服务,也就是说一般的邮件客户端工具无法使用这个邮箱,虽然现在有不少的邮件工具可以支持Hotmail邮箱,但是如果我们需要在我们的Java项目中增加对Hotmail邮箱的支持,那往往会不知从什么地方开始入手,因为SUN公司提供的JavaMail 本身并不提供对除了POP3/IMAP以及SMTP外其他协议的支持。
但事实上,JavaMail只是定义了一组平台无关、独立于通讯协议的邮件程序框架,或者说是接口,它是作为Java的可选包存在的。因此可以这样说:JavaMail并不关心所使用的协议,不管是POP3、SMTP、IMAP当然还有Hotmail用的HTTP协议。对于JavaMail的客户端而言也是这样的,下图就是一个最简单的JavaMail结构图,通过Transport进行邮件的发送,通过Store实现对邮件的收取,而不同协议的实现,JavaMail里的概念叫做Provider,只需要根据JavaMail定义的接口实现自己的Provider即可。
为了实现通过JavaMail访问Hotmail邮箱,我们就需要架起JavaMail接口与Hotmail服务所提供的访问接口之间的桥梁。在这之前我们必须首先了解Hotmail所使用的接口协议。
Hotmail通过地址 http://services.msn.com/svcs/hotmail/httpmail.asp 提供基于HTTP协议的服务,它不同于我们通过浏览器访问 http://www.hotmail.com 的这个地址,后面这个地址是提供给用户一个基于浏览器的访问界面以便对邮箱进行操作,你当然可以通过编写HTTP客户端程序来解析页面并获取邮件的信息,但是这样做不仅实现的复杂程度非常高,而且每次页面风格发生变化后程序都要做相应的调整,因此不具备通用性,显然是不可行的。而地址 http://services.msn.com/svcs/hotmail/httpmail.asp 则不同,它提供了固定的应用程序接口。当你使用浏览器访问该地址的时候,会弹出下面要求登录的窗体:
而当输入正确的用户名和口令后会再弹出一次或两次该提示窗口,但提示信息不同,操作完成后出现页面无法显示的错误,错误码是 405 (资源不允许)。因此该服务并不允许通过浏览器来访问。
事实上Hotmail使用的是WebDAV来提供基于HTTP协议的应用编程接口,WebDAV(Web 分布式创作和版本控制)已经成为重要的 Web 通讯协议。WebDAV所要解决的问题是:
1.改写保护:HTTP 1.1 无法确保客户端可以保护资源,并且可以在其他客户端同时编辑它们的情况下进行更改。 使用 WebDAV,可以通过多种方式来锁定资源,以便让其他客户端知道您对所讨论的资源感兴趣,或者防止其他客户端访问该资源。
2.资源管理:HTTP 只能直接访问单个资源。 WebDAV 提供一种更有效地组织数据的方法。 WebDAV 引入了可包含资源 的集合(类似于文件系统文件夹)概念。 通过 WebDAV 进行的资源管理包括如下功能:创建、移动、复制和删除集合,以及集合中的资源或文件。
3.文档属性:不同类型的数据具有唯一的属性,这有助于描述数据。 例如,在电子邮件中,这些属性可能是发件人的姓名和接收邮件的时间。 在协作文档中,这些属性可能是文档原始作者的姓名和最后一个编辑者的姓名。 因为人们使用的文档类型各不相同,所以可能的属性类型列表也变得无限大。 XML 是 WebDAV 所需的一种可扩展通讯工具。
关于WebDAV的更多资料可以参阅本文最后的参考资料。
相对于自行解析Hotmail的浏览器页面而言,基于特定协议WebDAV的接口使Hotmail邮件客户端程序的实现更加稳定和可靠。在了解了JavaMail API的基本接口以及Hotmail所提供接口的协议,本文的题目就变得非常具体了,就是如果编写基于WebDAV的JavaMail Provider(JavaMail提供者)并使用这个提供者来实现Hotmail邮件收发功能,但这题目太大而且已经超过了一篇文章所能叙述的范围,因此我们接下来将引入一个开放源码项目JDAVMail,并详细介绍如何通过这个项目实现Hotmail邮件的收发功能。
JDAVMail 是一个开放源码的JavaMail的提供者项目,可以通过它来访问基于WebDAV协议的邮件服务,有如Hotmail邮箱。你可以到 http://sourceforge.net/projects/jdavmail 这个网址下载到最新版本的程序。JDAVMail使用了Jakarta上的commons httpclient 作为HTTP客户端组件与服务器进行通讯,同时使用了jdom进行XML数据的解析,另外由于httpclient项目用到了commons logging进行日记的输出,因此commons-logging也是必须的,这三个组件都可以在JDAVMail的压缩包中的lib目录中找到,压缩包中同时还包括已编译的jar文件以及所有的源码。
为了让大家对JDAVMail有个大概的认识,下面我们给出两段代码用于Hotmail邮件的收发:
1. 邮件收取
/* * 文件名:HotmailDemo.java * 创建时间:2004-9-14 * 创建者:liudong */ package com.clickcom.mail;
import java.util.Date; import java.util.Properties;
import javax.mail.Folder; import javax.mail.Message; import javax.mail.Session; import javax.mail.Store; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage;
/** * Hotmail邮件的收发器 * @author liudong */ public class HotmailDemo { public static void main(String[] args) { receive(); }
/** * 邮件接收 */
protected static void receive() { try { Properties prop = new Properties(); Session ses = Session.getInstance(prop); //使用JDAVMail Provider Store store = ses.getStore("davmail"); //无需指定服务器地址 store.connect(null, "你的帐号","密码"); if (store.isConnected()) { Folder inbox = store.getFolder("INBOX"); if (inbox.exists()) { inbox.open(Folder.READ_ONLY); int nCount = inbox.getMessageCount(); System.out.println("Inbox contains " + nCount + " messages"); // 依次显示收件箱中的每封邮件 for(int i=1;i<=nCount;i++){ MimeMessage msg = (MimeMessage) inbox.getMessage(i); System.out.println("Subject : " + msg.getSubject()); System.out.println("From : " + msg.getFrom()[0].toString()); System.out.println("Content type : " + msg.getContentType()); System.out.println(msg.getContent()); } } } } catch (Exception ex) { ex.printStackTrace(); } } } |
从上面这段代码我们发现除了 Store store = ses.getStore("davmail"); 这个语句,同时不需要指定服务器地址外,其他的都跟一个普通的JavaMail应用程序没有两样,也没有引入任何跟JDAVMail有关的类。没有指定服务器地址这个比较容易理解,因为Hotmail提供HttpMail服务的地址是固定的。事实上仅有getStore这个语句跟常规邮件客户端程序有点不同的是它使用davmail字符串作为参数,而我们在使用JavaMail连接POP3服务器的时候指定参数值为pop3。怎么回事呢?因为JavaMail是通过协议名来加载Provider类的。打开JDAVMail.0.9.006.jar这个jar文件就会发现在META-INF目录下有一个文件javamail.providers,该文件内容如下:
protocol=davmail; type=store; class=com.posisoft.jdavmail.JDAVMailStore; vendor=Positive Software; protocol=davmail_xmit; type=transport; class=com.posisoft.jdavmail.JDAVMailTransport; vendor=Positive Software; |
因此当我们指定协议名为davmail时,JavaMail就会自动加载com.posisoft.jdavmail.JDAVMailStore类进行处理,因此通过传入davmail字符串所得到的store实例实际上是类com.posisoft.jdavmail.JDAVMailStore的一个实例,这样我想大家应该了解了前面这段程序的工作原理。
我们再来看JDAVMail发送邮件的代码片段:
/** * 邮件发送 */ protected static void send() { try { Properties prop = new Properties(); //邮件发送者地址 prop.setProperty("mail.davmail.from","abc@hotmail.com"); Session ses = Session.getInstance(prop); //获得JDAVMail的邮件发送实例 Transport transport = ses.getTransport("davmail_xmit"); //连接到Hotmail服务器,请替换为自己的用户名和口令 transport.connect(null, "用户名","口令");
// 准备要发送的邮件 MimeMessage txMsg = new MimeMessage(ses); txMsg.setSubject("This is the subject");
//邮件发送者地址 InternetAddress addrFrom = new InternetAddress("abc@hotmail.com"); txMsg.setFrom(addrFrom);
//邮件接收者地址 InternetAddress addrTo = new InternetAddress("cdef@hotmail.com", "cdef"); txMsg.addRecipient(Message.RecipientType.TO, addrTo);
//邮件内容 txMsg.setText("Hello world !"); txMsg.setSentDate(new Date());
//发送邮件 transport.sendMessage(txMsg, txMsg.getAllRecipients()); } catch (Exception ex) { ex.printStackTrace(); } } |
同样这段代码使用了davmail_xmit协议来获取JDAVMail的邮件发送实例,通过前面提到的javamail.providers文件不难知道JDAVMail使用类com.posisoft.jdavmail.JDAVMailTransport进行邮件的发送处理。
在实际测试中发现不管是JDAVMail还是其他的邮件工具,使用Hotmail进行邮件的发送速度比较慢,差不多有几分钟后才能收到相应的信息,因此如果测试中发现该问题请耐心等待。
我想通过本文介绍如何利用JDAVMail收发Hotmail邮件,以及研究JDAVMail的源码,不仅可以更加深入了解JavaMail的体系结构,对编写JavaMail Provider也有更加具体的参照。另外希望为正困挠于如何在Java程序中访问Hotmail邮件的朋友们排忧解难。同时也非常欢迎通过我的网站 http://www.javayou.com 跟我交流在使用中遇到的问题。
posted @
2005-09-07 11:23 子玉 阅读(447) |
评论 (0) |
编辑 收藏
javamail中的demo都是不要身份验证的
我看了几遍http://java.sun.com/products/javamail/1.2/docs/javadocs/index.html
还是不知道怎么改!!!
回答:
这样使用即可:
props.put("mail.smtp.auth", "true");
Transport transport = session.getTransport("smtp");
transport.connect(host, username, password);
posted @
2005-09-07 11:18 子玉 阅读(472) |
评论 (0) |
编辑 收藏
利用 Java Mail 来收发邮件 阅读次数645
出处 不详
随着网络应用的不断推广,电子邮件越来越多的被大家使用。虽然我们往往将电子邮件与 Foxmail、Outlook 这样的电子邮件客户端联系起来,但是往往我们也需要自己编程实现发送接收邮件,例如在一个网站注册用户后网站发出的回执mail,或者在网络购物的时候,在完成订单后的几分钟之内发送确认电子邮件。对于这样的需求,我们不能通过已有的邮件客户端而需要自己编写邮件发送或者处理程序。在这里向大家讲解一下如何利用JavaMail来实现邮件的收发。
注意:本文只打算讨论JavaMail收发带附件邮件的一些技巧,所以只是给出部分代码 1.发送带附件的邮件
我们平时发送的邮件主要可以分解成2大部分,一个是发信人,接信人,主题等邮件标头,另外一部分是邮件内容,它包括了邮件的附件。我们在发送普通邮件的时候content设置的类型是"text/html",带上附件后,我们需要把content的类型设置成Multipart,这时content包括了附件和"text/html"类型的正文。下面的这个告诉大家如何把附件放置到邮件中。 private Multipart getMultipart() throws MessagingException,UnsupportedEncodingException { MimeMultipart mp = new MimeMultipart(); try { //设置content里的内容 MimeBodyPart contentMbp = new MimeBodyPart(); //请指定字符集,否则会是乱码 contentMbp.setContent(_mailContent.getContent(), "text/html; charset=GB2312"); mp.addBodyPart(contentMbp); //添加附件 for (int i=0;i<_mailAttachment.getAttachPath().size();i++) { MimeBodyPart mbp = new MimeBodyPart(); FileDataSource fds = new FileDataSource((String) _mailAttachment.getAttachPath().get(i)); mbp.setDataHandler(new DataHandler(fds)); mbp.setFileName(MimeUtility.encodeWord(fds.getName(), "GB2312",null)); mp.addBodyPart(mbp); } } catch(MessagingException ie) { System.out.println("Set Content Message error..."+ie.getMessage()); throw ie; } catch(UnsupportedEncodingException ie) { System.out.println("Encode the fileName error..."+ie.getMessage()); throw ie; } return mp; } 放置附件的注意事项如下: 在发mail时需要注意字符集的问题。不但content里要设置,而且文件名也需要设置。如果我们去掉mbp.setFileName(MimeUtility.encodeWord(fds.getName(),"GB2312",null));这句话,那么你选中的附件还是会带到邮件里,但是在附件里看不到。我们可以通过查看邮件大小知道。我们利用这个特点来实现发送content中写的是html语言,而且包含图片信息的邮件。
2.发送content中包含html页面的邮件
大家都知道html语言可以带上图片链接(),那么我们在发送邮件的时候就需要对这些链接的图片做特殊处理。否则在对方接收到邮件的时候会看不到图片。我们特殊处理的方法就是把它们当成附件发送,但不显示在附件里。要做到这些就首先需要对输入的content进行解析,找到所带图片的路径。然后把content中这段代码变成。我们在发送附件的时候用mbp1.setHeader("Content-ID","IMG") 来把图片和附件对应上。如何具体解析content的操作我就不赘述了,我现在给出如何把修改好的content发送出去的例子。 //对于发送html类型的content。里边包括图片。 for(int i=0;i<_mailContent.getImgHash().size();i++) { MimeBodyPart mbp1 = new MimeBodyPart(); //得到图片的数据 FileDataSource fds = new FileDataSource( (String)_mailContent.getImgHash().get("IMG"+i)); //设置到MimeBodyPart中 mbp1.setDataHandler(new DataHandler(fds)); //设置图片附件和html的对应关系 mbp1.setHeader("Content-ID","IMG"+i); mp.addBodyPart(mbp1); }
3.邮件的状态
我们在阅读完邮件后可以给邮件设置删除标志,然后在关闭FOLDER的时候用true来清空已经被标志为删除的邮件。邮件的状态是在类FLAGS.FLAG中定义的。包括如下几种: Flags.Flag.ANSWERED Flags.Flag.DELETED Flags.Flag.DRAFT Flags.Flag.FLAGGED Flags.Flag.RECENT Flags.Flag.SEEN Flags.Flag.USER
我们可以根据不同的需要进行设置,但是需要注意的是,不是所有的服务器都支持这些状态。我们在做操作之前可以用getPermanentFlags方法来得到Message中的状态。参考下面代码 Message m = folder.getMessage(1); // set the DELETED flag m.setFlag(Flags.Flag.DELETED, true); // Check if DELETED flag is set of this message if (m.isSet(Flags.Flag.DELETED)) System.out.println("DELETED message"); // Examine ALL system flags for this message Flags flags = m.getFlags(); Flags.Flag[] sf = flags.getSystemFlags(); for (int i = 0; i < sf.length; i++) { if (sf[i] == Flags.Flag.DELETED) System.out.println("DELETED message"); else if (sf[i] == Flags.Flag.SEEN) System.out.println("SEEN message"); }
4.接收带附件的邮件
在带有附件的邮件中,消息的内容是Multipart型,这样我们就需要解析它来得到content和附件(它是发送带附件的邮件的逆向过程)。大家在使用outlook、foxmail这些电子邮件客户端的时候会发现,我们的邮件被从服务器上下载下来并且保存到本地硬盘上了,这种方式方便我们离线浏览邮件。在下面的范例中我们也把服务器上的邮件保存到本地。如果有兴趣大家可以编写一个客户端的图形界面来读取保存下来的邮件。 在下面的例子里,我只是向大家介绍如何解析附件。 private void getAttachFile(Part messagePart,BufferedOutputStream writeAttachObj) throws IOException, MessagingException { Object content = messagePart.getContent() ; try { //这种情况下的邮件都是用multi模式发送的, // 这种模式包括有附件的邮件和用html表示content的邮件 if (content instanceof Multipart) { Multipart contentTmp = (Multipart) content ; //如果是MULTI模式发送的,BodyPart(0).getContent()肯定就是content System.out.println("content==" + contentTmp.getBodyPart(0).getContent()) ; //getCount()可以得到content中bodyPart的个数,content就是第一个 //bodyPart,其它的附件按照顺序类推。但是有的时候附件就是另外一个邮件, //而这个邮件里边可能有其他的附件。下面代码用循环对嵌套情况进行解析。 for (int i = 0 ; i < contentTmp.getCount() ; i++) { if (contentTmp.getBodyPart(i).isMimeType("multipart/*")) { Multipart multipart = (Multipart) contentTmp.getBodyPart(i).getContent() ; //这个地方增加循环是为了解决嵌套附件的情况。 for (int k = 0 ; k < multipart.getCount() ; k++) { //content也会存在于INPUTSTREAM中。 saveAttacheFile(multipart.getBodyPart(k).getContentType(), multipart.getBodyPart(k).getDisposition(), multipart.getBodyPart(k).getFileName(), multipart.getBodyPart(k).getInputStream(), writeAttachObj); } } else { saveAttacheFile(contentTmp.getBodyPart(i).getContentType(), contentTmp.getBodyPart(i).getDisposition(), contentTmp.getBodyPart(i).getFileName(), contentTmp.getBodyPart(i).getInputStream(), writeAttachObj); } } } //这种情况中邮件是纯文本形式,并且没有附件 else { writeAttachObj.write(("content = "+content+" ").getBytes()); writeAttachObj.flush(); } } catch (Exception ie) { System.out.println("exception====" + ie.getMessage()) ; } }
|
posted @
2005-09-07 11:14 子玉 阅读(952) |
评论 (0) |
编辑 收藏
2005年8月12日
带你走遍美国东部 想去旅游的一定不能错过(组图) |
|
|
|
文章来源: 独走天下 于 2005-08-10 19:38:36 |
|
|
|
|
|
带你走遍美国东部 想去旅游的一定不能错过(组图)
一、准备
对于自由行来说,充分的准备工作当然是很重要了。 准备的主要途经是互联网,查看相关城市的景点介绍,寻找当地旅行团的路线,不过我认为最好的方式还是参考各位前辈的游记了,这也是促使我这篇游记的一个原因,古人云:前人栽树后人乘凉。 准备工作的注意事项: 1、确定好行程之后,就是预定酒店和交通工具了,这时候有一张美金信用卡是非常有必要的; 2、适量的现金也很有必要,因为付小费或者小额消费只能用现金; 3、要查看当地的天气,决定带什么行李,拖小、牙具、常用药品和雨具是必备; 4、最好把相关资料,如行程、地图、酒店、景点信息等最好都打印出来随身携带。
二、初见纽约
1、大苹果纽约我来啦
我背上行李,告别家人,乘坐国航从北京直飞纽约的航班,经过十四个小时的长途跋涉,巨大的波音747终于降落在纽约肯尼迪JFK机场。 入关区域分为美国公民和外国访问者两个通道,纽约时间是下午4点,正好赶上了几班飞机同时到达,人山人海,等了近两个小时才轮到我。随着安检老头的询问和几下摆布,啪啪几枚大章就PASS了,终于把我从昏头昏脑中解放出来,要知道时差12个小时,北京时间正是后半夜哪!出了机场坐上巴士,就朝曼哈顿中城开去。远远地,从昆斯区望过去,曼哈顿成群的高楼大厦渐渐向我靠近,我竟然有些激动,心里不禁呐喊到,大苹果纽约我来啦! 巴士停到了中央大车站附近,一下车扑面而来的高楼大厦和人群搞得我有点措手不急。 大楼如此之密如此之高,西装革履的老美如此之多,突然压的我喘不上气了。赶紧招手拦了辆taxi,往酒店的方向开去。突然明白了今天是周五啊,老美也要下班,不禁释然。虽然还是昏昏沉沉地,简单收拾完毕后决定先出去走走。
酒店在下城,就在华尔街的东侧,于是几步就来到了著名的华尔街。华尔街不足200米长,远远地就看见了乔治华盛顿的纪念铜像,他背靠者旧联邦议会大厦(Federal Hall),面对着纽约股票交易市场(NY Stock Exchange)。
虽然已经是傍晚,但是阳光充足,游人依然不少,于是决定北上,来到市政大厦(City Hall)所在的广场。
肚子早已经开始抗议了,好在离唐人街不远,饱食美餐的同时,正好可以看看海外华人的生活状獭。
唐人街(Chinatown)位于曼哈顿桥(Manhattan Bridge)以西,占据了Mott, Bayard, Pell大街。 一个个拥挤不堪的店面及漂亮的中文招牌,和店小二的招呼声混合在一起,让人恍惚中还以为是在国内的某条食街。随便找了个地方坐下,点了菜,狼吞虎咽地吃了起来。 这个地区人口超过两万,广东人为主,由于建设较早,因此道路狭窄,楼层不高,门面也不大。 象征着中国精神的孔子塑像就立在一个广场中,成为海外华人对家乡思念的一种寄托。
2、徒步行走在下城
由于时差关系,后半夜怎么也无法入睡了,很早就起床。 按照计划,今天主要是在金融区(Financial District)、索霍区(SoHo)、格林威治村(Greenwich Village)进行徒步行走。 百老汇北上漫游。从Battery Park出发,沿着Broadway北上。首先是Cunard Building,它目前是邮局,有着纽约最佳空间的大厅。然后是三一会教堂、公正大楼(Equitable Building)、马林-米德兰银行大楼(Marine Midland Building)、联邦储备银行(Federal Reserve Bank)、伍尔沃思大楼(Woolworth Building), 最后穿过市府公园(City Hall Park)到达市政府(City Hall). 其中带有哥特式美感的伍尔沃思大楼(Woolworth Building) 是1913年的显著地标,是举世闻名的帝国象征。
索霍铸铁区巡礼。索霍(soho)实际上是South of Houston st.的缩写,以密集的铸铁大楼建筑而闻名。从西百老汇大道开始,往南走,然后沿着Greene St.往北回转,先后路过Queen of Greene Street和King of Greene St.最后到达百老汇大道, 别忘了看Haughwout Building纽约最古老的铸铁大楼和little Singer Building上世纪50年代摩天楼的玻璃帷幕先驱.
漫步格林威治村。 呈对角线式的街道显示出波西米亚风格,完全违反了自14街以北整齐的棋盘方格街区分布。Patchin Place是一条死胡同,康明斯曾经在这儿住了很久。 Gay Street这条弯曲的小路是西区不规则街区的最好示范。Stonewall Inn对面的公园里有George Segal的同性恋作品。
完成这三个徒步行走之后已经是下午了,我又开始昏昏沉沉起来。由于昨天睡眠不足,加上徒步行走体力消耗太大,看来只有回酒店再补一觉了。一觉醒来已经是晚上6点,吃了点东西体力又充沛起来,想想应该看看纽约的夜景,最好是去---帝国大厦(Empire State Building),纽约市的最高建筑,决心一定,赶紧搭乘地铁直奔而去。
排队的人可真不少,都排到人行道上了。既来之则安之,苦等两个小时,换了一次电梯,终于到达了86层的户外观望台。放眼望去,整个曼哈顿灯火辉煌,很容易识别洛克菲勒中心(Rockefeller Center)、时代广场(Times Square)等许多著名建筑豁立于视野。一栋栋高楼大厦像是高低不一的火柴盒,密密麻麻的一个挨着一个,汽车好像小蚂蚁,在这些火柴盒中间穿来穿去。
3、自由之门
晚上休息得不错,时差基本倒过来了。一大早,快步走到了南街海港(South Street Seaport)。17号码头有一个多层的购物中心,如果躺在舒适的椅子上,正好可以观赏河景和曼哈顿最古老的桥布鲁克林桥(Brooklyn Bridge)。15、16号码头还可以看到北京号(Peking)和先锋号(Pioneer)帆础。由于时间还早,店铺还没有开门,只有几个东亚面孔的老人在锻炼身体,保持着多年以来的生活习惯。
一路西行,来到了世贸遗址。周围已经由高高的铁栅栏围了起来,上面挂满了文字和照片,记录了911前后的一系列事实,其中包括了所有死难者的名字,我心里默念,愿他们能够在另外一个世界安息。遗址的地基部分已经裸露出来,很凄凉的样子。听说要在原址上盖一栋新楼,方案都定了,不知道会不会保留一部分遗迹。偶尔会看到几个人手捧鲜花,轻轻地放在地上,911对老美的伤害太深了。
告别世贸遗址后,南下炮台公园(Battery Park), 在克林顿城堡(Clinton Castle)里买了游览自由女神像(Statue of liberty)和爱里斯岛(ELLIS ISLAND)的船票。船开得很快,在自由女神像前绕了一下之后就停在小岛后方的码头上,在船头拍照的人很多,我也挤着照了几张。自由女神像是法国为了纪念美国独立100周年而赠送的象征友好的礼物。她的左手握着有1776年7月4日这一日期的独立宣言书,右的则高举着火炬。下船后我快步走到女神像的前方,又是照像又是摄像,忙了好一会儿。同行的欧美人好像对于摄像不是很热衷,没看见什么人拿着摄像机,就连照相机也大多是一次性,用完就扔的那种,可能他们更看中身临其境的东西吧?!在外面绕了一圈之后,来到了自由女神像底部的入口处。安检!又是安检!刚才上船前就已经查过一次了,这儿又来一次。由于911的影响,所到的几个景点安检都很严格,这次也不例外,除了背包需要检查之外,所有的金属物品,什么硬币,甚至还有皮带都要放在机器上单独检查,当然人通过的时候也是需要走检查通道,总之查的很细。每次安检都要排很长的队,我的时间不是很充裕,但也只能忍耐了。自由女神是中空的,底部有一个小博物馆,通过之后可以上到最高的火炬台,但是911之后就不让上去了,只能抬着脖子看看女神的内部结构。
下一站是爱里斯岛(ELLIS ISLAND),这个岛屿被称作移民岛,大约有四分之一美国人的先辈曾经在这个岛上居住过,包括大名鼎鼎的乔治.华盛顿的长辈,经常会有老美到这儿来寻找自己先辈的名字和足迹。爱里斯岛由几排红色的楼房组成,最大的一个房子是移民大厅,曾经这里人潮汹涌,大家都在等着移民官叫自己的名字,然后通过“美国之门”的检查,出来之后身份就变成梦寐以求的美国人了。穿过大厅,我在坐在一个椅子上,远远眺望着高楼林立的曼哈顿,心里涌出无限感想,当年无数人抱着自由的梦想来到这片肥沃的土地,把自己的青春和热血,甚至自己的子子孙孙都留在这里,而这片土地,这个国家回报给他们的是优美的自然环境,生活的富足,以及思想的自由!
|
三、自由的足迹--波士顿
如果要了解美国历史,就一定要去波士顿,如果要了解美国独立战争,就一定要去康科德(concord)和列克星顿(lexington)。沿着独立战争的足迹,我开始了一趟历史遗迹之旅。美国独立战争时立即应召的民兵(Minuteman),就是他们打响了独立战争的第一枪。从concord的North Bridge出发沿着2A一直到lexingtong, 一路上有好几个分散的景点,非常适合驾车旅行。
波士顿城市很小,从波士顿公园(Boston Common)出发到查尔斯顿(Charlestown)有一条红砖铺成的路,曲折延伸3公里多,这就是著名的自由足迹(Freedom Trail),适合徒步行走。
由于酒店离波士顿公园很近,天刚亮我就出发了,沿着自由足迹行走。沿途多为17、18世纪的房舍、教堂和独立战争遗址,如State House、King's Chapel、Old South Meeting House、Old State House、Faneuil Hall、Marketplace、Paul Revere House、Old North Church、Bunker Hill等。
波士顿公园可是美国最古老的公园,古树都有两个世纪了。
州议会大厦(State House)是一个金色圆顶建筑,是波士顿市的标志,由著名设计师查尔斯.布而芬奇设计,他还设计了美国国会大厦,怪不得两个建筑长得有点像呢。
还记得那个大奶瓶吗?那不仅是美国最大的儿童博物馆的象征,也是波士顿的标志。门外放了一个儿童救火车,尺寸缩小了一号,驾驶室内还有几个毛绒玩具,真有趣。不远处就是波士顿茶事件纪念馆,波士顿茶党可是当时非常著名的呢。
后湾区(Back Bay)体现一种法国林荫大道的风格和气氛,去逛街吃饭是很不错的选择。 一天的时间很快就结束了,对某些景点只能一点而过,走马看花。波士顿这样一个历史名城,的确值得花时间仔细研究。时间所限,我竟然连附近的著名高校麻省理工(MIT)和哈佛大学(Harvord)都没有顾上看,确实有些遗憾了。
四、卡西诺--大西洋城
在美国的某些城市,博彩业是合法的。大西洋城属于新泽西州,座落在东海岸,紧邻大西洋,可以说是东部最大的赌城了。整个城市都是依海而建,有一条沿海而铺设的很长的木板路(boardwalk), 一侧是豪华赌场和酒店,另外一侧就是浩瀚的大西洋,很多酒店的一二层就是赌场。
赌博(casino)的种类有很多种,纸牌、轮盘、骰子等等,就连老虎机都有很多种类型,甚至有中文版老虎机。说到这儿,我不得不提一下,中国人是赌城的中坚力量,有很多赌城都设置了中国人专区,清一色的中文,汉语服务,甚至赌博用具都是南方麻健。在这儿我见到了除唐人街之外最多的中国人。
赌场的环境非常豪华,老虎机摆放的位置,座椅的舒适程度,都达到了最佳,据说连空气都比外面的新鲜, 人为增加了近一倍的氧气! 真是佩服老美的敬业精神。来大西洋城的人只有5%是专门为了赌博,但是却有95%的人参加的赌博,这个数据是真是假我就不作考证了,反正我是小赌一把。随便找了台老虎机坐下,塞了5块钱进去,开始!一会儿功夫就只剩最后1块了,我暗下决心,如果输了,最多再来20块就收手。可是,但是,但可是,当我胡乱拍这按钮的时候,数字1变了,一点一点往上升,竟然到了200!我赢了!哈哈哈哈!还玩不玩?当然是兑现!听着老虎机往下掉代币的声音真是爽极了。什么?你说这声音也是特殊设计的? 我信! 我全信! 我不是赌徒,我只是一个过客。小赌给我带来的仅仅是心情的变化。当然了,这天的心情真是好极了!
五、自由之钟--费城
从大西洋城出发,一个小时就到了费城。「费城」这个名詞代表了独立会堂、自由钟、起司牛肉三明治、英雄三明治、种族融合、戏院、快活的古典音乐以及充滿生命的街道。 游客中心(Visitor Center)是一栋漂亮又现代的建筑,从那儿要了一份地图,就快步走入自由钟纪念馆(Liberty Bell Pavilion),自由钟原本是挂在独立宫(Independence Hall)顶上,但是日晒风吹,已经有一个大裂缝了,现在保存在纪念馆里,绝对是美国的国宝。
马路对面就是独立宫,当年就是在此处发表了独立宣言,然后又起草宪法,从而诞生了美利坚合众国。与独立宫连接的是议事厅(Congress Hall),当年是联邦议事厅。正好到了正点时间,独立宫顶层的大钟”咚咚”地响了起来,钟声厚重而沉缓,象征着美国漫漫自由之路。
旧城实在是太小,费城之旅两个小时很快结束了,费城这个美国的诞生地,历史上的首都,地理位置夹在纽约和华盛顿之间,作为外国人我只是点到而止了。
六、美国人民的领袖--华盛顿
从费城到华盛顿特区有两个小时的车程。先找到了落脚点--青年旅舍,然后向白宫(White House)前进。
由于已经是下班时间了,虽然Lafayette Park前还有几位游人,可是白宫早已经戒备森严了,要知道当今的美国总统布什就住在这里。广场前方有一位反战者,看样子住了不是一天两天。白宫后方的爱里斯公园(Ellipse Park)和华盛顿纪念碑(Washington Monument)的广场正在整修草坪,显得有些零乱。
青年旅舍是包括早餐的,咖啡、面包、蛋糕、水果,挺丰盛。边吃边和同桌的老美聊天,原来她们是学校组织的活动,每个学生都有一位家长陪同,由于学校学生不多,因此年龄有大有小。听到我说是从中国来的,都挺惊讶,对大多数美国人来说,中国是很遥远的国度,很陌生。和中国人同样面孔的日本人,他们反而很熟悉。因此经常被误解是日本人,每当这时候,我都说:No,I'm Chinese! 我们聊的很开心,我还根据孩子们的名字,给他们都起了中国名字,孩子们好像很感兴趣,他们说,汉字真漂亮!
吃罢早餐,向国会山(Capitol Hill)方向走去,在那儿有著名的国会大厦(U.S. Capitol),这座白色大圆顶的政府大楼通常被视为华盛顿的象征,也是电视中美国政治新闻报道的最佳背景,圆顶内部是一个可容纳3000人的金碧辉煌的大厅。美国参、众两院构成的国会就在这里举行会议。南侧为下院,北侧为上院。在游客中心预约了中午12点的参观之后,赶到不远处的宇航博物馆(National Air and Space Museum)。
很多网友的游记中都提到,宇航博物馆是必看项目,我当然不能错过了。在这儿我顺便提一下,华盛顿特区的博物馆绝大多数都是免费的,经常看到父母带着孩子,老师带着学生参观,这可是进行爱国主义教育的好机会。宇航馆大致分为航空和航天两部分,展示了美国在宇航领域内的成就。一进门就看见了著名的阿波罗11号登月飞船,外形是圆锥型,里面有三个人的座位。航空部分的相当部分展区是美军的旧式飞机,包括了航空母舰的舰载飞机,当然怀特兄弟造的人类历史上第一驾飞机的复制品也是展览重点。航天部分对我来说就相对陌生些了,主要是各式各样的卫星实物和照片,包括著名的哈勃望远镜,竟然还有一个巨型火箭的引擎。几乎每一个展区都设置了触摸区或模拟操作区,可以有非常直观的感受,除了实物、文字、图片之外,还有多媒体演示,真是丰富多彩。我简直有些恋恋不舍了,排队买了一张立体电影票,电影主要讲了一位战斗机飞行员在各种模拟飞行中的出色表现,画面精美,情节完整,绝对美国大片的感受,影片结束后,大家都起立鼓掌。我忽然想起预约了中午12点国会大厦的参观,时间过了怎么办?要不放弃或者再约其他时间了,只能怪我自己顾此失彼。
一路西行,穿越长长的草坪广场和华盛顿纪念碑,来到二次世界大战纪念广场(World War II Memorial),广场四周有48个立柱,代表了美国的48个州。
向西眺望隔着方形水池(Reflecting Pool)远远的看见林肯纪念堂(Lincoln Memorial),待我走到跟前才注意到,林肯纪念堂是一座开放型建筑,没有大门。
台阶一共58个,代表了林肯的年纪。林肯的巨大雕像在中央位置,坐姿面朝华盛顿纪念碑和国会大厦。林肯纪念堂的东南方向是韩战纪念广场(Korean War Veterans Memorial),东北方向就是越战纪念广场(Vietnam Veterans Memorial),越战纪念碑的设计师是位华裔女青年,外形呈字母L型,上面刻满了阵亡人员的名字,一边指向林肯纪念堂,另外一边指向华盛顿纪念碑,好像是在询问两位前总统,我们死了这么多人,战争目的到底是什么?
华盛顿特区的景点很多,也比较集中,走马观花的话也需要三天时间,有很多景点是需要预约参观时间的,比如:白宫最严格,需要提前好多月电话预约并核实身份,每天早晨7点半就开始参观,人数限制在3000人;国会大厦虽然没有人数限制,但是团队很多,只能预约当天的参观时间,早9点开始;华盛顿纪念碑的预约时间从早8点半开始,往往上午就把全天的时间都约满了。
华盛顿特区规划的很不错,就连唐人街都比纽约的干净。
|
七、繁华的曼哈顿中城
坐上早已联系好的巴士,从华盛顿唐人街出发,只用20块钱,就让我重返纽约,度过在美国的最后两天。巴士停在了著名的42街,正好华灯初上,流光异彩,漂亮的霓虹灯和电子广告牌让我的眼睛有些应接不暇了,重返纽约的感觉竟然还会让我惊诧!
北上到了更加著名的时代广场(Times Square),说是广场,其实是42大街、弗洛德街跟第七大道交叉的三角地带,狭窄而且拥挤。
由于时间不早了,旅舍还有些远,便恋恋不舍地钻入地铁。纽约的国际青旅在西103街,远离中城,但是地铁还是很方便。规模比华盛顿的大,硬件设施也更好一些,价格都是一样$29,但是没有早餐。公路对面就是一个小卖部,有很多新鲜的蔬菜和水果,看来可以大补一下了。我买了很多的苹果、香蕉、西红柿,都是爱吃的东西,一次吃它个够。住青旅还有一个好处就是可以自己做饭,我看到有个老太太在做沙拉,顿时嘴馋了。我的时间安排的很紧,没有时间炒菜做饭,随便凑合一下就成。
第二天一早,先来到林肯中心。作为纽约古典音乐界的中心,林肯中心是所有艺术家憧憬的舞台,同时也是汇集了剧院歌剧院、音乐厅、室外音乐厅的纽约文化中心。
匆匆看过之后我步入了不远的中央公园(Central Park), 她座落在摩天大楼耸立的曼哈顿的正中,是纽约最大的公园。能够在曼哈顿这寸土寸金的地方规划这么大一个公园,我由衷的佩服老美。波光粼粼、曲径通幽、小桥流水、参天大树、绿草箐箐。。。所有的这些词汇都不能够概括全部。偶尔跑过来几个晨练的人,和牵着自己的宠物狗散步的人,给这个巨大的公园增添了些许生机。说到健身,在美国简直就是风行之肌。无论什么地方,都能见到跑步健身的,他们一般会戴着耳机,听着运动音乐。就连带孩子的妈妈们也都成群结队,单手推着婴儿车,前前后后的跑步,速度还挺快,真是两不耽误啊。
出了中央公园之后,一眼就看见了Trump Building,这个大厦的顶层高高低低的种了很多植物,成为纽约一景。我沿着第五大道,来了一趟摩天大楼之旅,一直走到美国大都会人寿(Metlife)。
MetLife下方就是中央大车站(Central station),中央大车站的建筑比较有特色,内部房顶是拱形,还有一个非常著名的生蚝餐厅,价格嘛,当然不便宜了。
联合国大厦在东部,45至48街之间,有两个雕像很有特点,一个是已经开裂的地球,另外一个是枪管被系成一个结的手枪,寓意明显,大厅内的正好有05年摄影展,很不错,有的照片颇有震撼力。
从联合国出来,我就沿着42街一直西行,充分体验了一下这条曼哈顿著名的大街。经过了纽约图书馆。
又一次路过时代广场,看到TKTS正在卖票,绝大多数都是半价,很多人在排队,这可是欣赏百老汇演出的好机会啊!
步行在中城的体验和上城绝对是不同的,中城更多的是繁华、奢侈、艺术、时尚,这也是我更喜欢中城的理由。 |
八、聊聊汽车
老美偏爱大车,尤其偏爱皮卡和吉普。
要求车的尺寸一定要大,马力也要充足,开起来感觉一定是动力彭湃。其中一个重要的原因是,皮卡非常适合拉货,甚至加上一个拖车,可以拉任何东西了,经常在公路上能看到这样的情形:一个大胡子老美开着一辆福特皮卡,车窗全开,放着重金属摇滚,后面的拖车上是一艘游艇。大排气辆车普及的另外一个原因是油价便宜,普通汽油基本上在每加仑2至2.6美金之间,这还是由于原油短缺,近两年上涨了百分之一百多之后的价格。加满一个50升的油箱差不多30美金,相对与老美的收入来说真的很便宜。
美国的公路网非常发达,乡间小路密密麻麻,虽然不宽而且起伏不定,但是平整,丝毫没有颠簸的感觉。
高速公路(freeway)基本上是双向六车道,有些交通枢纽甚至多达双向16车道,非常壮观。
过路费基本在1至2美金之间,如果买卡,不仅不用排队交费,而且还有专用出口快速通过,甚至还有专用的行车道。有趣的是,有些收费站(toll)设置了硬币(coin)筐,预先准备好足够的硬币,通过的时候往筐里一扔,撞击金属墙壁发出了清脆地响声,红灯变成绿灯,这时候就可以走了。收费站没有栏杆,也就是说闯关肯定没问题,哈哈~ 老美的守秩序再一次在开车中得到了体现,有几个明显的例子:过路口的时候一定会停车了望,确认同一方向车道上没有车的时候再并入行驶;如果有行人过马路,汽车一定会停下来,等行人通过之后再走;高速公路上基本都在行车道上开,很少有长时间占用超车道的情况。除了人们的普遍自觉外,高额的罚款也是秩序得以严格遵守的重要原因。如果在路口停车没有明显的左右了望动作,或者超速了,或者没有在规定的时间地点停车,等待的罚款最高能达到2000美金,恐怖! 停车费是一笔不斐的开支。郊区基本都是免费,城区的街道两边的车位有时间段限制,很多是两小时车位,每小时一圆,也就是说一次最多只能买两个小时,到时间不开走的话,警察会来贴罚单。专用停车场费用较高,有多种付费方式,周末会便宜些。 美国是汽车普及的国家,普及的另一个代名词是便宜,就连汽车销售商打出的广告都是36个月免利息,每个月多少多少钱,还有多少多少现金返回等等,看得我这个中国人心里真不是滋味,我的车可是花光了全部积蓄才拥有的,每年除了好几千块而且还在不断上升的油钱之外,还有高额的保险,税费等等,生活就是这么残酷! |
九、人与自然
我在麻省的一个小镇住了几天,咱中国话说就是在农村,可是此农村非彼农村。早晨起来的第一件事情就是,打开窗户,迫不及待地呼吸起那清新的、甚至带有一丝甜味的空气。这儿到处是树木,遍地是绿草,充足的降雨加上人们精心细致地呵护,使得每一个地方都像是在公园。一栋栋白色或其它颜色的房子座落在一个个相隔不远的院子里,粗壮的木篱笆把院子围了起来,修剪过的草坪布满周围的空地,上面有秋千、躺椅甚至儿童滑梯,院子前是一棵和房子相同颜色的树,院子后面是茂密的树林。我有些恍惚了,这是在天堂吗?当然不是,这只是美国的一个普通小镇!
从地图上看到一个国家野生动植物公园(National Wildlife Refuge)不是很远,便抽空前往了。每一个国家公园或历史遗迹都有一个游客中心(Visitor Center),可以得到很多有用的信息,比如地图,全部是免费的。接待我的工作人员是一位帅小伙,滔滔不绝地开始讲起了这个公园地历史,其实我就是要一份地图,问一下什么时间关门而已。顺便说一下,旅游服务人员的态度都非常不错,如果有什么问题,他们都会非常详细的回答,如果需要指路,他们甚至会亲自带你去。这个野生公园没有围墙,只是在公园入口处有一个栏杆,除了汽车,人可以随时出入。整个公园尽量地保持了原始野生的状态,是动物植物很好的避难所。公园中间是一个很大的湖,周围是茂密的树林,树林中间有几条羊肠小道,厚厚的落叶散落在小路上,踩上去松松软软的,像是踩在了棉花上。偶尔还能看到一些小动物,松鼠,野兔等等。虽然是野生公园,但是管理的依然不错,清晰的路牌指引方向,随时都能看到椅子可以坐下休息,每一处都有一个特别说明,介绍此处主要的动物植物及其特征,甚至有按钮能听到录音介绍,实在是太方便了。
无论在大城市或者小城镇,经常能够看到茂密的树林,宁静的湖水和松鼠、鸽子之类的小动物,它们往往和人们离得很近,没有丝毫的胆怯,带给了人们精神上的愉悦,同时得到了人类很好的照顾,我想这就是人与自然的和谐相处吧!
参考的互联网地址:
1、景点介绍 携程旅行网美国篇: http://destinations.ctrip.com/Destinations/RegionDestinations.asp?Region=47 美国国家公园:http://www.nps.gov/ 政府的权威网站,内容非常丰富 美国国家公园:http://www.areaparks.com/
2、游记 阳光生活论坛之阳光之旅频道中国玫瑰版主的[原创]环美游记 http://www.sunhuo.net/bbs/printpage.asp?BoardID=15&ID=6271 无忌论坛之美国东北七州自驾游 http://www.xitek.com/forum/showthread.php?threadid=263693&pagenumber=1 水牛工作室之美西游记系列 http://www.buffalostudio.com/chinese/chinese_main.htm 磨房论坛之异域之旅 http://forum.doyouhike.net/ut/board_show.cgi?id=37&age=30 D.D.Duck的博克 http://www.cs.virginia.edu/~xj3a/chinesewebsite/
3、主要的旅行团介绍: 北美商旅网 http://www.uctop.com 美国环球旅行社 http://www.gns-travel.com/etours.html
4、酒店汽车飞机预定系统 expedia: http://www.expedia.com/ 和E龙合作的国外网站,市场占有率很高,强烈推荐。 LastMinute: http://www.lastminutetravel.com/ 不错的网站,和expedia同一种类型。 Hoteldiscounts: http://www.hoteldiscounts.com/ 和expedia同一种类型。 PriceLine: http://www.priceline.com 竞价类型的网站,价格可能会很低, 但是不能退定。 国际青年旅舍:http://www.hihostels.com/ 价格低,平均每晚$30,强烈推荐。 火车票预定系统: http://www.amtrak.com/ 火车票价格不低而且时间长 雅虎的旅行网站: http://travel.yahoo.com/ 赫兹汽车租赁: http://www.hertz.com 著名的汽车预定网站,价格高 万爱士汽车租赁:http://www.avis.com 著名的汽车预定网站,价格高
5、工具网站 北美地图: http://www.mapquest.com/ 非常不错的地图网站,能够根据两地的具体地址设计行车路线 世界各国自助游规则 http://www.ez-going.com.tw/helper/self-help.asp
| |
posted @
2005-08-12 16:45 子玉 阅读(529) |
评论 (0) |
编辑 收藏
文学城新 闻 @___%'|ura;?S 直通车
本文摘自文学 城新闻直? (wa'u_ua(5 ǔ?
本文 .?(&wa5,; ? 摘自文学城新闻直通车
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
本文 .?(&wa5,; ? 摘自文学城新闻直通车
摘自文学城 b\;ab'.@db5/%'_'b 新闻直通车
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
本文摘自文 学 wr:wd@u&r&w ?/. 城新闻直通车
文学 城新闻?:/(a,&_% r. 蓖ǔ?
文学城新 闻 @___%'|ura;?S 直通车
文学城新 闻 @___%'|ura;?S 直通车
本文摘自文 学 wr:wd@u&r&w ?/. 城新闻直通车
';a (&S'a,& 文 学城新闻直通车
本文摘自文学 城新闻直? (wa'u_ua(5 ǔ?
摘自文学城 b\;ab'.@db5/%'_'b 新闻直通车
摘自文学城 b\;ab'.@db5/%'_'b 新闻直通车
本文 .?(&wa5,; ? 摘自文学城新闻直通车
文学城新 闻 @___%'|ura;?S 直通车
本文 .?(&wa5,; ? 摘自文学城新闻直通车
';a (&S'a,& 文 学城新闻直通车
文学城新 闻 @___%'|ura;?S 直通车
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
文学 城新闻?:/(a,&_% r. 蓖ǔ?
文学城新 闻 @___%'|ura;?S 直通车
本文摘自文 学 wr:wd@u&r&w ?/. 城新闻直通车
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
';a (&S'a,& 文 学城新闻直通车
本文摘自文学 城新闻直? (wa'u_ua(5 ǔ?
';a (&S'a,& 文 学城新闻直通车
文 '_ ua&;;':&)a%) 学城新闻直通车
本文摘自文学 城新闻直? (wa'u_ua(5 ǔ?
疚?.?(&wa5,; ? 摘自文学城新闻直通车
本文摘自文学 城新闻直? (wa'u_ua(5 ǔ?
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
文学城新 闻 @___%'|ura;?S 直通车
本文 .?(&wa5,; ? 摘自文学城新闻直通车
本文摘自文 学 wr:wd@u&r&w ?/. 城新闻直通车
摘自文学城 b\;ab'.@db5/%'_'b 新闻直通车
本文 .?(&wa5,; ? 摘自文学城新闻直通车
';a (&S'a,& 文 学城新闻直通车
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
本文摘自文学 城新闻直? (wa'u_ua(5 ǔ?
本文 .?(&wa5,; ? 摘自文学城新闻直通车
本文摘自文 学 wr:wd@u&r&w ?/. 城新闻直通车
文 '_ ua&;;':&)a%) 学城新闻直通车
摘自文学城 b\;ab'.@db5/%'_'b 新闻直通车
本文摘自文 学 wr:wd@u&r&w ?/. 城新闻直通车
本文摘自文 学 wr:wd@u&r&w ?/. 城新闻直通车
文学城新 闻 @___%'|ura;?S 直通车
文学 城新闻?:/(a,&_% r. 蓖ǔ?
摘自文学城 b\;ab'.@db5/%'_'b 新闻直通车
文 '_ ua&;;':&)a%) 学城新闻直通车
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
文学城新 闻 @___%'|ura;?S 直通车
本文摘自文 学 wr:wd@u&r&w ?/. 城新闻直通车
本文摘自文学 城新闻直? (wa'u_ua(5 ǔ?
本文 .?(&wa5,; ? 摘自文学城新闻直通车
本文摘自文 学 wr:wd@u&r&w ?/. 城新闻直通车
本文 .?(&wa5,; ? 摘自文学城新闻直通车
本文 .?(&wa5,; ? 摘自文学城新闻直通车
摘自文学城 b\;ab'.@db5/%'_'b 新闻直通车
';a (&S'a,& 文 学城新闻直通车
本文摘自文学 城新闻直? (wa'u_ua(5 ǔ?
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
本文 .?(&wa5,; ? 摘自文学城新闻直通车
本文 .?(&wa5,; ? 摘自文学城新闻直通车
文学城新 闻 @___%'|ura;?S 直通车
本文摘自文学 城新闻直? (wa'u_ua(5 ǔ?
本文摘自文 学 wr:wd@u&r&w ?/. 城新闻直通车
文学 城新闻?:/(a,&_% r. 蓖ǔ?
摘自文学城 b\;ab'.@db5/%'_'b 新闻直通车
本文摘自文学 城新闻直? (wa'u_ua(5 ǔ?
文 '_ ua&;;':&)a%) 学城新闻直通车
本文摘自文学 城新闻直? (wa'u_ua(5 ǔ?
本文摘自文 学 wr:wd@u&r&w ?/. 城新闻直通车
文学 城新闻?:/(a,&_% r. 蓖ǔ?
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
本文 .?(&wa5,; ? 摘自文学城新闻直通车
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
本文 .?(&wa5,; ? 摘自文学城新闻直通车
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
本文摘自文 学 wr:wd@u&r&w ?/. 城新闻直通车
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
摘自文学城 b\;ab'.@db5/%'_'b 新闻直通车
文 '_ ua&;;':&)a%) 学城新闻直通车
文 '_ ua&;;':&)a%) 学城新闻直通车
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
文 '_ ua&;;':&)a%) 学城新闻直通车
文学 城新闻?:/(a,&_% r. 蓖ǔ?
本文摘自文学城 新 ?S'),:r?S?__/ 闻直通车
摘自文学城 b\;ab'.@db5/%'_'b 新闻直通车
本文 .?(&wa5,; ? 摘自文学城新闻直通车
文学城新 闻 @___%'|ura;?S 直
posted @
2005-08-12 16:36 子玉 阅读(440) |
评论 (0) |
编辑 收藏