11
votes

Curl via une proxy authentifiée et une ressource HTTP authentifiée

Je veux faire un post (Twitter dans ce cas) avec un onairiner.

Si je n'ai pas de proxy xxx

fonctionne parfaitement.

Mais quand je suis derrière un proxy authentifié, cela ne le fait pas.

J'avais essayé: xxx

que cela me saute avec un < / p>

proxy ne supporte pas l'auth de base

So savoir ce que je fais mal?

Merci d'avance.


0 commentaires

5 Réponses :


2
votes

Essayez d'ajouter - Proxy-Digest ou - Proxy-anyauth . Et je pense que vous devez vous connecter au proxy, vous devez utiliser des minuscules -x (pas -x ).


0 commentaires

6
votes

Vous pouvez être capable de mettre le nom d'utilisateur / mot de passe de l'URL pour la ressource authentifiée pour éviter d'avoir des complications de ligne de commande supplémentaires.

curl -x proxyaddr:port -U proxyUser:proxyPass -u user:pass -d status="message" http://twitter.com/statuses/update.xml


0 commentaires

18
votes

La réponse de Cababunga est correcte , mais il manque une autre option: - proxy-ntlm . Certains procurations n'autorisent pas correctement avec - proxy-anyauth , afin que, idéalement, vous souhaiterez spécifier la méthode d'authentification que votre proxy utilise. Si vous exécutez Curl -V -utilisateur User: PASS -X Proxy: Port --URL http://www.google.com , vous devez obtenir quelque chose dans les lignes suivantes:

  • sur le point de se connecter () au port de proxy [votre proxy] [votre port] (# 0)
  • essayer [IP] ...
  • connecté
  • connecté à [votre proxy] ([IP]) Port [Votre port] (# 0)
  • Établissez un tunnel proxy HTTP sur www.google.com:443
  • authentification proxy en utilisant la base avec l'utilisateur '[utilisateur]'
  • Connectez-vous www.google.com:443 http / 1.1
  • hôte: www.google.com:443
  • Proxy-Autorisation: Basic [Gibberish]
  • utilisateur-agent: curl / [ver] ([OS]) libcurl / [ver] openssl / [ver] zlib / [ver]
  • Proxy-Connection: Garder-vivant
  • HTTP / 1.1 407 Authentification proxy requise
  • Proxy-authentifier: négocier
  • proxy-authentifier: NTLM

    Ajoutez un drapeau pour tout ce que vous voyez dans le paramètre d'authentification proxy et vous devriez être prêt à partir. Dans cet exemple, vous ajouteriez le drapeau - proxy-ntlm .


0 commentaires

0
votes

J'ai réussi à effectuer cela avec l'aide de la réponse de Micah ici:

Ceci est la commande que j'ai à la fin pour accéder à un repliement Bitbucket: P>

curl  -u userBitbucket:PwdBitBucket -U userProxy:pwdProxy -x address_proxy:port:proxy --proxy-ntlm http://host:port/projects/project/repos/repo/browse/file


0 commentaires

1
votes

Vous voudrez peut-être essayer d'utiliser des chaussettes V5 au lieu de V4:

$ curl --proxy socks5://proxyUser:proxyPass@proxy:port ...


0 commentaires