J'essaie de tester une API de repos pour télécharger un fichier local vers une URL https. J'utilise actuellement curl pour le faire. Le problème est que mon POST in curl est converti en PUT (http://curl.haxx.se/docs/manpage.html) mentionne la même chose. Pour tester la ligne de commande J'utilise les éléments suivants:chargement d'un document local en utilisant php
boucle -H "Content-Type: application/json" -H "Autorisation: Porteuse XXXXXXXXXXXXXXXYYYYYzzzzzz" -H "Accept-Version: ~ 1" - H "Sauf: 100-continue" -H "Accept-version: ~ 1" -T "SomeFile.pdf" "https://abc-xyz.co/docs"
sortie:
{"code":"BadMethod","message":"/docs does not support PUT"}
mon code php:
$url = '"https://abc-xyz.co/docs';
$filepath = '/Users/me/Documents/somefile.pdf'; //mac path
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_HTTPHEADER,
array('Authorization: Bearer XXXXXXXXXXXXXXXYYYYYzzzzzz', 'Accept-Version: ~1', 'Except: 100-continue');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
$file = "@".$filepath;
curl_setopt($ch, CURLOPT_POSTFIELDS,$file);
$response = curl_exec($ch);
if(!CURL_ERROR($ch))
{
echo"\n The output is:".$response;
}
else
{
echo "\nUpload failed ".curl_error($ch);
exit;
}
curl_close($ch);
Sortie: j'obtiens une erreur d'analyse.
Quelqu'un peut me renseigner avec 3 choses:
- Puis-je utiliser une boucle pour faire POST pour https? si oui, comment? et si non, quelle devrait être ma démarche?
- Comment passer le nom du chemin du fichier dans mon php? J'ai essayé "@". $ Filepath aussi mais il ne l'aime toujours pas.
- Si je veux restreindre le type de téléchargement de mon fichier à un format pdf, est-ce que je devrais utiliser le type mime? (Application/pdf ????)
Merci, DR
Merci Wrikken. Je vais essayer ce que vous avez suggéré. – 38172
J'ai regardé post fileupload avec curl. mentionné mais le problème est que j'envoie le fichier à travers https et le POST de Curl est converti en "PUT" que mon serveur ne supporte pas. Je veux de l'aide pour télécharger un fichier local en utilisant POST sur https. – 38172
@ 38172: alors je ne peux pas reproduire votre problème. L'affichage avec le tableau en php comme mentionné juste _works here (tm) _ ... et voilà, la réponse du super-utilisateur avec curl fonctionne ici aussi. Êtes-vous sûr que le problème n'est pas dans un proxy/côté réception? – Wrikken