J'ai un problème avec mon script bash. Il produit une erreur de
curl (6) couldn't resolve Host
Qu'est ce que j'ai mal fait?
Ce qui suit est mon script bash.
#!/bin/bash
string="$(mysql -u root -p Company 'select name from HR')"
url="http://www.company.com/company/hr/$string"
curl -F $url
Essayez d’imprimer toute la chaîne/l’URL. Je crois qu'il devrait y avoir des problèmes.
Selon l'homme curl, l'erreur 6 signifie "Impossible de résoudre l'hôte. L'hôte Donné n'a pas été résolu." vous devrez donc vérifier si le nom d’hôte du fichier url peut être résolu en adresse IP.
lorsque vous devez envoyer des données à un serveur, par exemple à l'aide du formulaire ci-dessous,
<form method="POST" enctype='multipart/form-data' action="upload.cgi">
<input type=file name=upload>
<input type=submit name=press value="OK">
</form>
vous pouvez le faire rouler avec l'équivalent suivant. (assurez-vous que le serveur que vous avez envoyé est également prêt à recevoir les données)
curl -F upload=@localfilename -F press=OK [resolv-able url]
Et pouvez-vous ping "www.company.com" (je suppose que ce n'est pas le réel nom auquel vous vous connectez)?
Et il peut être intéressant d’imprimer la variable $url
avant de la nommer curl
car elle pourrait être mal formée.
Et une dernière chose. Êtes-vous bien sûr devriez-vous utiliser -F
? Cela semble être le remplissage automatisé du formulaire. Est-il possible que vous vouliez "échouer en silence" l'option -f
?
Juste pour être complet: cela se produit également s'il y a des problèmes sur votre réseau.
Par exemple, pour tester cela, sur votre machine locale, fermez la connexion à Internet et essayez de vous connecter à l'URL: la même erreur est renvoyée.
Donc, actuellement, je ne sais pas comment distinguer les problèmes sur le serveur distant de ceux sur notre propre réseau.