張騫的孫子張猛,字子遊,頗有俊才,在元帝朝曾經擔任過光祿大夫,出使匈奴,兼任給事中,後來由於遭受石顯陷害,自殺。
李廣利,李廣利的妹妹李夫人受寵於武帝,生下昌邑哀王劉髆。武帝太初元年(公元前104年),武帝任命李廣利為貳師將軍,征發屬國六千騎兵及郡國的惡少年數萬人前往大宛國,此行是為了到貳師城奪取良馬,李廣利因此號稱為“貳師將軍”,原浩侯王恢擔任向導。向西經過羅布泊,沿途有些小國家據城堅守,不肯供給漢軍糧草,攻城也未能湊效。漢軍如果能夠攻下這些小國,即在當地取糧,如果攻不下來,幾天後就會撤軍離去。等到抵達鬱成國,漢軍隻剩下幾千人,而且疲憊不堪。進攻鬱成城,鬱成國人堅守,殺傷甚多。貳師將軍與左右商量:“連鬱成城都攻不下來,要想攻陷大宛國的都城,恐怕很難成功。”於是引軍撤回,來回二年,抵達敦煌時,剩下的漢軍已經不到出征時的十分之一二。貳師將軍派出信使向武帝奏報:“路途遙遠,糧食缺乏,部隊不怕打仗,但是怕挨餓。現在漢軍的減員很大,不足以攻下大宛城。希望暫時休整,經過休整後再出兵。”武帝聞報,大怒,派出使者擋在玉門關口,說:“部隊敢進入玉門關者,殺無赦。”貳師將軍害怕了,留在敦煌墾田。
武帝太初二年夏天,浞野侯趙破奴率領二萬漢軍,與匈奴作戰,全軍覆沒。朝廷的公卿們討論,均認為應該撤回討伐大宛的漢軍,傾全力對付匈奴。武帝認為已經出兵征討大宛,如果像大宛這樣的小國家都難以征服,那麼大夏等西域大國一定會輕視漢朝,大宛國的良馬沒有得到,烏孫國、輪台國也會相繼怠慢漢朝來往西域的使者,最終隻能遭到外國人恥笑。武帝將反對征討大宛的朝議者、鄧光等人加以懲罰。而後武帝大赦囚徒、盜寇,征發惡少年以及邊郡騎士,一年多後,漢軍從敦煌郡再次出兵,此次出征的漢軍達六萬餘人,還有自願隨軍的沒有包括在內。共有十萬頭牛,三萬匹馬,上萬頭驢、駱駝,用來馱運糧食,弓弩兵器,所需用的物資一應俱全,全國為之震動。為了征討大宛,武帝征調了很多人馬物資,參戰的校尉有五十餘人。大宛城中沒有水井,需要在城外汲取河水,武帝為漢軍安排了工匠,準備截斷通向大宛城中的水道,斷絕水源。在酒泉郡、張掖郡以北,武帝還增派了漢軍十八萬人,安置在居延澤、休屠,用以護衛酒泉郡。武帝征發了全國七種受貶謫的人,為貳師將軍提供後勤,一路上車載人扛,隊伍絡繹不絕,直達敦煌。武帝還安排了熟悉馬匹的兩名專家,擔任執馬、驅馬校尉,準備攻破大宛城後,挑選良馬。
貳師將軍率領大軍,浩浩蕩蕩地從敦煌郡出發,由於此次出征的漢軍兵多將廣,所經過的小國家莫不夾道歡迎,拿出糧食供應大軍。當抵達輪台時,輪台據守不降,漢軍發起連續進攻,數日後破城,漢軍大肆屠城。從這裏再向西,漢軍一路順利地抵達大宛城,抵達的漢軍還有三萬多人。大宛國軍隊出城迎擊漢軍,漢軍強弓硬弩猛射,大宛軍不得不退回城內,據城固守。貳師將軍想,可以先攻打鬱成城,又擔心軍隊滯留時間過久,大宛人會心生詭計,最終下定決心,先拿下大宛城,首先斷絕城中的水源,改變河水的流向,大宛城此時已經是甕中之鱉。城池遭受圍困,前後長達四十幾日,大宛的貴族們在一起商議:“大王不該藏匿良馬,殺害漢使,現在我們殺掉大王,獻出良馬,漢軍就會解圍。如果還不放過我們,到那時,我們再死戰,即使戰死也不遲。”大宛國的貴族們同意這個建議,於是殺了他們的大宛王。此時大宛外城已經被攻破,大宛的貴族將軍煎靡被漢軍擒獲。大宛人更加恐慌,退入內城,又一起商議,說:“漢軍之所以來攻打大宛國,就是因為我們的大王毋寡。”於是派人帶著毋寡的頭顱,送予貳師將軍,與漢軍談判:“漢軍停止進攻,我們獻出所有的良馬,讓漢軍挑選,同時供給漢軍糧食。如果不答應我們的請求,我們就隻好殺掉良馬,康居國的援軍很快就會到來。援兵到來後,我們在內城堅守,康居國援軍在外進攻,同時與漢軍作戰,到那時,你們再考慮一下,請做出選擇。”在當時,康居國看到漢軍強大,援軍遲遲不敢靠近。貳師將軍聽說大宛城裏有漢人,正在教大宛國人打井,而且城內的糧食還有很多。又想此次來就是為了誅殺首惡毋寡,毋寡的頭顱已經送到,如果還不答應要求,大宛城久攻不下,康居國的軍隊等到漢軍疲憊,伺機偷襲漢軍,救援大宛,漢軍恐怕要遭受損失。手下軍吏們也有同樣想法,於是漢軍答應了大宛國的請求。大宛國獻出了他們的良馬,讓漢軍任意挑選,又拿出很多的軍糧犒勞漢軍。漢軍挑選了幾十匹優等良馬,又挑選了中馬以下的母馬、公馬三千餘匹,然後立大宛的貴族昧蔡為大宛王,昧蔡對待漢使較為友善,漢軍與大宛國盟誓之後,撤軍返回。最終沒有進入大宛內城,漢軍凱旋而歸。
此前,貳師將軍從敦煌郡出發西征,因為人多,沿途的西域小國家已經難以滿足軍糧的需求,漢軍分為幾路大軍,從南北兩個方向並進。校尉王申生、原大鴻臚壺充國等一千餘人來到鬱成國,鬱成城堅守不降,也不肯供給軍糧。王申生距離漢的大軍有二百餘裏,因為輕敵,王申生強攻鬱成城。鬱成王發現王申生率領的漢軍很少,在淩晨,鬱成王派出三千人攻打漢軍,殺了王申生等人,有數人逃脫,回到貳師軍中。貳師將軍命令搜粟都尉上官桀率領漢軍前往,攻破鬱成城,鬱成國人投降。鬱成國王逃往康居國,上官桀率軍追至康居國。康居國聽說漢軍已經攻破大宛城,遂將鬱成王交給上官桀。上官桀命令四名騎士將鬱成王綁縛起來,交給大將軍。四位騎士商量後說:“鬱成王,是漢朝最痛恨的人,今天被生擒,如果就這樣送去,恐怕途中會發生不測。”就想要殺掉鬱成王,但是沒有人敢先動手,上邽縣人騎士趙弟拔出劍來,砍死鬱成王。上官桀等人隨後追趕上大將軍。
當初,貳師將軍第二次領軍西征,武帝派出使者告知烏孫國,詔令烏孫國人派出軍隊配合漢軍征討大宛國。烏孫國派出二千騎兵,但是首鼠兩端,徘徊觀望,不肯向前。貳師將軍率領漢軍返回,沿途經過的小國家聽說大宛城已經被攻破,均派出國中子弟跟隨漢軍來到長安,向朝廷貢獻,朝見天子,或者留在長安,作為人質。大軍凱旋而歸,進入玉門關,還有一萬多人,一千餘匹馬。第二次出征,並不缺乏軍糧,戰死者也不多,主要是將吏貪婪,不愛惜士卒,侵吞軍餉,很多士卒受到虐待,有許多人死亡。武帝考慮,這次是萬裏遠征,沒有責罰,武帝下詔說:“匈奴為害已久,現在雖然已經被趕到大漠以北,與其它西域小國仍然共謀,攔截大月氏的使節,殺害中郎將江、原雁門郡太守攘。危須國以西到大宛國合謀殺害期門郎車令、中郎將朝和身毒國的使節,阻斷通往西域的東西通道。貳師將軍李廣利此次討伐罪人,大敗大宛國。托庇上天的護佑,翻越昆侖山,渡過大沙漠,一直打到西海,雪山不能阻擋我大漢軍隊,我士大夫率領著大軍一路向前,斬獲反王頭顱,繳獲的珍稀寶物堆滿了闕門前邊。封李廣利為海西侯,食邑八千戶。”武帝又封了斬殺鬱成王的趙弟為新畤侯;軍正趙始成功勞最大,封為光祿大夫;上官桀敢於深入敵陣,封為少府;李哆(duō)有計謀,封為上黨郡太守。軍中的官吏受封為九卿的有三人,擔任諸侯國相、郡太守、二千石官員的有一百餘人,千石以下的官員有千餘人。自願從軍的戰士,受到的封賞超過他們原來的想象;因為犯罪而從軍的,一律免除罪刑。出征士卒受到的賞賜達到四萬錢。征討大宛,前後兩次共耗費四年時間,終告結束。
此後又過去十一年,在武帝征和三年(公元前90年),貳師將軍率領七萬騎兵從五原郡出發,征伐匈奴,抵達郅居河,兵敗,投降匈奴,後來李廣利被狐鹿姑單於殺害(詳情記載在《匈奴傳》中)。
讚辭如下:《禹本紀》中記載,說黃河發源於昆侖山,昆侖山高二千五百餘裏,日月照耀,山中透露出來的光線若隱若現。自從張騫出使大夏國後,找到了黃河源頭,這是書中所描繪的昆侖山嗎?談論九州山川,《尚書》還較為可信。至於《禹本紀》、《山經》中所記載的九州山川,均有些誇大其辭!