2017-07-20 28 views
1

.tarファイルを直接ファイルにはリンクしないでダウンロードしようとしています。 http://document.internal.somecompany.com/Download?DocNo=2/1449-CUF10101/1Pythonを使用してファイルをダウンロードする方法と認証

私のpythonに新しいです:あなたがページを閲覧した場合、ポップアップは、URLは次のようになります

「をダウンロードするためにパスを選択」と表示されます。

これは、プロジェクトのこの部分で、これまでに私のコードです:私はさらに行く方法がわからない、または応答が何かあれば<addinfourl at 139931044873856 whose fp = <socket._fileobject object at 0x7f443c35e8d0>>

:応答を印刷

manager = urllib2.HTTPPasswordMgrWithDefaultRealm() 
manager.add_password(None, url, secrets["user"], secrets["password"]) 

#Create an authentication handler using the password manager 
auth = urllib2.HTTPBasicAuthHandler(manager) 

#Create an opener that will replace the default urlopen method on further calls 
opener = urllib2.build_opener(auth) 
urllib2.install_opener(opener) 

#Here you should access the full url you wanted to open 
response = urllib2.urlopen(url) 
print response 

はこれを返します近くに正しい?私は.tarを開き、そこにraml-fileにアクセスする必要があります。ファイルをダウンロードして開く必要があるかどうかわからない、または直接開いてraml-fileを印刷する必要があります。

提案がありますか?あなたは'wb'モードでファイルを開き、次のように、ダウンロードしようとしているファイルの内容を記述する必要が

答えて

1

response = urllib2.urlopen(url) 
with open(os.path.basename(url), 'wb') as wf: 
      wf.write(response.read()) 

あなたはまた、代わりにちょうどos.path.basename(url) を使用してのパスを指定することもできますし、 .tarファイル

+0

に対処する方法についての詳細はtarfileを見て、私はthetを行うと、私はHTML –

+0

を含むファイルを取得し、あなたの 'url'をチェックし、あなたがtarファイル –

+0

へのリンクを提供する必要があり、私はそうではないと直接のliを持つことはできませんnkを.tarファイルに追加します。 –

関連する問題