Maison > développement back-end > Golang > Pourquoi mon programme Go télécharge-t-il un fichier zip vide lorsque j'essaie de télécharger un fichier public depuis Google Drive ?

Pourquoi mon programme Go télécharge-t-il un fichier zip vide lorsque j'essaie de télécharger un fichier public depuis Google Drive ?

Patricia Arquette
Libérer: 2024-10-30 14:16:26
original
509 Les gens l'ont consulté

Why does my Go program download an empty zip file when I try to download a public file from Google Drive?

Téléchargement de fichiers publics depuis Google Drive dans Golang

Lorsque vous essayez de télécharger un fichier zip partagé publiquement depuis Google Drive, vous pouvez rencontrer un problème où un "fichier" vierge. zip" est créé à la place. Cela est dû à un bug potentiel impliquant soit Google Drive, soit Go.

La racine du problème réside dans le fait que l'URL de téléchargement initiale fournie par Google Drive redirige vers une deuxième URL contenant un astérisque (*). comme délimiteur. Cependant, lorsque Go tente de récupérer cette URL, il code l'astérisque comme *, changeant l'URL en :

https://doc-00-c8-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/8i67l6m6cdojptjuh883mu0qqmtptds1/1376330400000/06448503420061938118/%2A/0B2Q7X-dUtUBebElySVh1ZS1iaTQ?h=16653014193614665626&e=download
Copier après la connexion
Copier après la connexion

Malheureusement, Google répond par "403 Forbidden" à cette URL codée, suggérant que l'encodage * n'est pas interprété avec succès comme un astérisque.

Pour résoudre ce problème :

  1. Obtenez l'URL corrigée : Utilisez un navigateur Web ou un outil tel que cURL pour accédez à l'URL de téléchargement initialement fournie et suivez les redirections jusqu'à ce que vous atteigniez l'URL finale contenant l'astérisque, qui devrait ressembler à :
https://doc-00-c8-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/8i67l6m6cdojptjuh883mu0qqmtptds1/1376330400000/06448503420061938118/*/0B2Q7X-dUtUBebElySVh1ZS1iaTQ?h=16653014193614665626&e=download
Copier après la connexion
  1. Encoder manuellement l'astérisque : Encodez manuellement le caractère astérisque (*) dans l'URL corrigée à l'aide du codage en pourcentage. Cela donne l'URL suivante :
https://doc-00-c8-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/8i67l6m6cdojptjuh883mu0qqmtptds1/1376330400000/06448503420061938118/%2A/0B2Q7X-dUtUBebElySVh1ZS1iaTQ?h=16653014193614665626&e=download
Copier après la connexion
Copier après la connexion
  1. Utilisez l'URL corrigée : Mettez à jour votre code Go pour utiliser l'URL encodée manuellement. Cela devrait vous permettre de télécharger avec succès le fichier zip depuis Google Drive.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal