Zenodo: Mendukung URL unduhan sederhana untuk arsip

Dibuat pada 23 Okt 2018  ·  4Komentar  ·  Sumber: zenodo/zenodo

Saat ini URL untuk arsip yang diunduh tampaknya tidak langsung dan tidak menyertakan ekstensi nama file (misalnya wget) - idealnya nama file arsip harus dipertahankan saat mengunduh menggunakan alat pada baris perintah. Apakah mungkin untuk mengubah ini?

Komentar yang paling membantu

Terima kasih @lnielsen. Curl'ing api/records/record_id bekerja untuk mengambil url wget'able. Akan sangat membantu untuk menampilkan url wget'able ini langsung di situs, jika memungkinkan.

Semua 4 komentar

Terima kasih telah melaporkan. AFAIK ini sudah didukung. Contoh:

$ wget https://zenodo.org/api/files/4f53dd1f-df5f-4a9c-8b46-6eacfc4b8840/results.zip
--2018-10-24 08:33:10--  https://zenodo.org/api/files/4f53dd1f-df5f-4a9c-8b46-6eacfc4b8840/results.zip
Resolving zenodo.org... 137.138.76.77
Connecting to zenodo.org|137.138.76.77|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 309980977 (296M) [application/octet-stream]
Saving to: 'results.zip'

Apakah Anda memiliki contoh di mana itu tidak terjadi?

Hai @lnielsen ,

https://zenodo.org/record/51405
Catatan ini, misalnya, berisi file dengan format
https://zenodo.org/record/<record number>/files/<filename>?download=1 ,
yang berbeda dengan
https://zenodo.org/api/files/<UID>/<filename>
format yang Anda berikan di atas. Dengan mengacu pada permintaan @bbarker , menggunakan wget pada yang pertama tidak dimungkinkan.

Ini mungkin ketidaktahuan saya. Apakah ada metode yang saya lewatkan untuk mendapatkan tautan permanen gaya API?

@benjaminhwilliams Dalam kedua kasus itu adalah bagian kode yang sama yang melayani file, satu-satunya perbedaan adalah Anda akan mendapatkan pesan kesalahan manusia yang bagus di https://zenodo.org/record/<record number>/files/<filename>?download=1 misalnya 404 halaman.

Dalam hal wget dan ?download=1 maka menurut saya wget itu salah tingkah. Namun Anda cukup menghapus ?download=1 untuk memenuhi wget .

wget berperilaku tidak semestinya karena kami sebenarnya mengirimkan nama file yang benar di header HTTP. Lihat di bawah:

$ curl -I "https://zenodo.org/record/51405/files/l-cyst_01.tar.gz?download=1"
HTTP/1.1 200 OK
...
Content-Disposition: attachment; filename=l-cyst_01.tar.gz
...

Karena itu, jika Anda memerlukan unduhan otomatis, lebih baik gunakan REST API kami tempat Anda mendapatkan tautan file langsung:

$ curl https://zenodo.org/api/records/51405
{
  ...
  "files": [
    {
      "bucket": "cbc7d513-2359-47fe-a9c6-f826de7776c5",
      "checksum": "md5:780a7b23320307ae8b6cf2d6e99ade1f",
      "key": "l-cyst_fast_04.tar.gz",
      "links": {
        "self": "https://zenodo.org/api/files/cbc7d513-2359-47fe-a9c6-f826de7776c5/l-cyst_fast_04.tar.gz"
      },
      "size": 140654635,
      "type": "gz"
    },
    {
      "bucket": "cbc7d513-2359-47fe-a9c6-f826de7776c5",
      "checksum": "md5:c04800ec8ffaaad867ee54a3a1688ac5",
      "key": "l-cyst_very_fast_01.tar.gz",
      "links": {
        "self": "https://zenodo.org/api/files/cbc7d513-2359-47fe-a9c6-f826de7776c5/l-cyst_very_fast_01.tar.gz"
      },
      "size": 63254814,
      "type": "gz"
    },
  ...
}

Terima kasih @lnielsen. Curl'ing api/records/record_id bekerja untuk mengambil url wget'able. Akan sangat membantu untuk menampilkan url wget'able ini langsung di situs, jika memungkinkan.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat