2016-09-01 6 views
1

をダウンロード... カール・エラー、次のエラーを取得してJSONオブジェクト

curl: (56) GnuTLS recv error (-54): Error in the pull function. 

... JSONファイル

curl -L -o commerce.json http://www.commerce.gov/data.json 

何かアドバイスをカールするには、次のコマンドを使用しているとき?私はカールに精通していない。多分それはタイムアウトエラーです。とにかく私はそれを防ぐことができますか?私は本当にファイルが必要で、ブラウザからダウンロードできません(ファイルが大きすぎると仮定します)。

私はUbuntuのコマンドラインから作業しています。 Pythonソリューションをカールさせるのが好きでしょう。

+1

そして、なぜこのことを説明したカールのマニュアルを読んでいませんか? –

答えて

2

エラー・コード56は、ネットワーク・データの受信に続いて、ここで説明したようにhttps://curl.haxx.se/docs/manpage.html

56の障害を意味します。

あなたは-vさんが起こるか見て使用する必要があります。

私は他のツールでネットワークエラーを修正していません。

決して少ないプレーンなPythonの例があります。

CURL alternative in Python

1

bashの、あなたは使用することができます。

wget -O commerce.json http://www.commerce.gov/data.json 

それ以外の場合は、これにPythonのソリューションは次のようになります。

最初にあなたがすることができます、Pythonのwgetライブラリをインストールする必要があります。コードを使用してください:

import wget 
url = 'http://www.commerce.gov/data.json' 

commercejson = wget.download(url) 

data.jsonファイルをローカルのPythonプロジェクトディレクトリにダウンロードします。 data.jsonファイルは現在198MBなので、curlはそれをうまく処理できない場合があります。

UPDATE:圧縮されたJSONのダウンロード:

gzip圧縮を有効にするには、ダウンロードするにははるかに友好的であると思われる、代わりに19メガバイトされて終わるgzip圧縮されたバージョンを、ダウンロードするには、次を使用することができます。 gzipで圧縮されたJSONファイルがダウンロードされると

wget -S --header="accept-encoding: gzip" -O commerce.json.gz http://www.commerce.gov/data.json 

そして、それを解凍するには、以下のコマンドを実行します。

gzip -d commerce.json.gz

+0

wgetはあなたのために機能しますか?私は無限にそうしようとします: --2016-09-01 18:41:59-- https://www.commerce.gov/sites/commerce.gov/files/data.json [www .commerce.gov]:443 HTTP要求が送信されました... 200 OK Length:206604792(197M)[application/json] 保存先: 'commerce2。json ' commerce2.json 0%[] 127.67K 749KB /秒(0.2秒) 2016-09-01 18:42:59(749 KB/s) - バイト130732/206604792で読み取りエラーが発生しました。 )。再試行。 –

+0

wgetは機能しますが、インターネット接続は非常に高速です。 – ode2k

+0

ダウンロードしたjsonデータのgzip圧縮を有効にするために私の答えを更新しました。 – ode2k

関連する問題