武帝即位之初,立即着手反击匈奴。从匈奴降卒口中得知,昔日匈奴将月氏从河西走廊赶走,月氏举族西迁到西域的伊犁河流域,称为大月氏。老上单于曾杀月氏王,以其头为饮器,月氏人因此怨恨匈奴,意在复仇,但恨无人援助。
武帝便欲遣使大月氏,与之结盟,东西夹击匈奴。但由中原前往西域,须从匈奴控制的河西走廊经过,后面还要穿越塔克拉玛干沙漠,可以说是九死一生的任务,几乎无人愿去。
公元前139年,武帝即位第二年,平民张骞打算碰碰运气,报名前往西域。于是武帝授张骞为郎(官职八品),率匈奴降卒堂邑父等起程,一行百余骑,由陇西出塞,准备经河西走廊去往西域。张骞二十五岁,出身不详,官职也不高,还是临时授予的。当时但凡有点身份的人,谁也不想接这种差事。陈胜说过:“壮士不死则已,死则举大名尔。”许多人不是怕死,而是不想默默无闻死在沙漠里,要死也死在战场上。
河西走廊是地形狭长,呈西北-东南走向,长1000多千米、宽100-200千米。张骞使团刚进入河西走廊,就被匈奴休屠王的兵马拦截,张骞被生擒。
休屠王将张骞交由右贤王罗姑比处置,此时乌孙已经将月氏赶走,占据伊犁河谷。但乌孙实力渐强,不再为匈奴右部养马,右贤王不在意大月氏,却有意远征乌孙。右贤王若出征西域,自然要抽调汉朝边境休屠、白羊、娄烦等部落众多兵马。为了防止汉军趁虚而入,就要侄子军臣单于配合,不断侵扰汉地边郡。
于是右贤王又将张骞交给军臣单于发落,表面上是服低做小,实则给军臣单于带来一个麻烦。单于若杀了张骞,汉匈关系当然会更差,双方交战频率和规模可能增大,正是右贤王期待的效果。如果不杀张骞,单于也要派人马看管这一百多人,费力不讨好。
张骞来到龙城,军臣单于没有杀他,只是将其人马拆散,并赏给一个匈奴女人为妻。张骞身边有两人贴身看守,无法逃脱,也就在单于本部呆了下来,甚至生下一个儿子。君臣单于见张骞已习惯大漠骑射生活,令人看管其子,却允许张骞自由活动。张骞仍持汉节,常跑到右地活动,虽和跟随自己的两个匈奴人称兄道弟,内心还是想去西域联合大月氏。
公元前129年,车骑将军卫青兵出上谷,挥兵直捣龙城,斩首七百级。此事虽然对匈奴实质打击不大,但短期心理打击很大,令军臣单于失光落彩,颜面扫地。
此时张骞来被俘已经十年,趁乱与堂邑父两人一路向西,途径匈奴右地,南下天山,取道车师(吐鲁番盆地),再沿塔里木河西行,经龟兹、疏勒等地,翻越葱岭,行数十日,抵达大宛(费尔干纳盆地)。张骞在匈奴就得知大月氏南迁,因此没有去伊犁河谷。
大宛地处费尔干纳盆地,建都贵山城,有6万户,30万人,控弦6万骑。大宛王素闻汉朝人炊金馔玉、乘坚策肥,见张骞到来,心中甚喜,遣人做向导和翻译,送张骞至康居、大月氏。
张骞在大月氏活动了一年多,月氏王多次置酒高会。张骞希望大月氏北上夹击匈奴,月氏王却东支西吾、虚与委蛇。大月氏人对报复乌孙和匈奴完全没有兴趣,目标是河对岸的大夏。
月氏人控制了阿姆河北岸,复国称大月氏,南边称为大夏,各城邦皆臣属大月氏。站在大月氏的角度看,优先级最高的战略,是越过阿姆河,占据整个盆地,攘外必先安内。匈奴离得太远,中间和隔着康居、大宛、乌孙等国,鞭长莫及。假设大月氏要复仇,也是找距离更近的乌孙,而不是匈奴。但乌孙也是汉朝拉拢的西域大国,大月氏不可能与乌孙并肩作战。
张骞在大月氏住了一年多,见结盟不成,只得辞归。
在随后的一百多年时间中,大月氏越过阿姆河,进一步控制大夏各部,互相融合,定都蓝氏城。到东汉初,大月氏有10万户,40万人,控弦十余万骑。不久贵霜翕侯丘就却攻灭其余四翕侯,自立为王,不仅统一了阿姆河盆地,还四面扩张,建立起与罗马、安息、东汉并称的贵霜帝国。
公元前128年,张骞越过葱岭,沿昆仑山北麓的西域南道而返,经莎车、于阗、楼兰。此路不如西域北道有一条西东走向的塔里木河,所过之处,多是沙漠,往往百里无人烟,连水草都不易得。
数十日后,张骞和堂邑父终于走出塔克拉玛干沙漠,来到河西走廊,又被浑邪王麾下部落所擒。这年右部动荡,右贤王率部远征乌孙,结果损兵折将。
第二年右贤王兵败归来,此刻连河套都被卫青所占,正当右贤王准备东山再起时,军臣单于派一个儿子来接管右地。右贤王罗姑比叱咤风云几十年,确实有些晚节不保,退位前将张骞送回龙城。
此时张骞如果想逃回长安,必然要经过匈奴白羊部和娄烦部控制河套地区。公元前127年春,车骑将军卫青、材官将军李息领兵四万余出云中,以翕侯赵信为前导。汉军攻灭匈奴白羊王、娄烦王两部,斩首及掳获匈奴5371级,捕获战马上万、牛羊百万计。张骞南归之路打通,只等一个逃跑时机。
公元前126年,匈奴军臣单于去世,其弟左谷蠡王伊稚斜攻败左贤王于单,自立为单于。于单率数百骑降汉,封为陟安侯。
张骞乘匈奴内乱,带着堂邑父以及匈奴妻子南逃,从河套地区进入关中。张骞率一百多人的使团,历时十三年,往返数万里,最后仅张骞与堂邑父两人生还。
汉武帝擢升张骞为太中大夫(官职六品),封堂邑父为奉使君。西汉封侯有列侯和关内侯之分,有的宦官(太监)或女性会封君,食邑与关内侯相当,堂邑父可能受过宫刑,因此封君。张骞虽没有封侯,不过武帝重用他,擢为校尉(军职四品),跟随卫青出战,封侯是早晚的事。
卫青出塞大破右贤王、漠南之战,张骞都在卫青身边,以“知水草处,兵马不至饥渴”为由封为博望侯,食邑不详。