2017-03-09 8 views
-1

私は大きなファイルがgolangを使用してWebサーバー上に存在するかどうかを確認したい:golangを使用してWebファイルが存在するかどうかを確認する方法は?

resp, err := http.Get("http://aa.com/aa.mp4") 
if err != nil { 
    return false 
    } 
if resp.StatusCode != http.StatusOK { 
    return false 
} 

私は私が欲しいものを得ることができますが、aa.mp4が大きいファイルであるため、この方法が最適ではないに見えます。別の方法がありますか?

+1

にメッセージボディを返してはならないことを除いて、GETと同じです。 HTTPは「ファイルがWebサーバー上に存在する」という概念ではありません。サーバーによっては、HEAD要求を試すことができます。 – Volker

答えて

4

あなたはそれがGETと同じですが、身体をダウンロードしません代わりにhttp.Head()

をHEAD要求を行うことができます。 HTTPの仕様から

resp, err := http.Head("http://aa.com/aa.mp4") 
    if err != nil { 
    return false 
    } 
    if resp.StatusCode != http.StatusOK { 
    return false 
    } 

HEADメソッドは、サーバがHTTPの仕組みではありません応答

関連する問題