Hoe voeg je een ‘&’ toe karakter in een bash curl-instructie

Ik probeer curl in bash te gebruiken om een ​​webpagina te downloaden, maar het &-symbool in de URL wordt niet geïnterpreteerd als een teken zoals ik zou willen. Enig idee hoe ik bash ervan kan overtuigen dat het symbool &gewoon een saai karakter is en niets bijzonders?


Antwoord 1, autoriteit 100%

Als u de volledige URL tussen dubbele aanhalingstekens plaatst, zou dit uw probleem moeten oplossen.


Antwoord 2, autoriteit 34%

curl "http://www.example.com?m=method&args=1"

Gebruikt u de & als scheidingsteken voor een GET-URL? Of zit het in een stukje data?

Als het in data staat, moet je het coderen naar een HTML-teken, zo niet, dan tussen aanhalingstekens zetten.

De codering voor &moet %26worden in de URL.

curl "http://www.example.com?m=this%26that

Antwoord 3, autoriteit 19%

Het plaatsen van enkele aanhalingstekens rond het &-symbool lijkt te werken. Dat wil zeggen, het gebruik van een URL zoals http://www.example.com/page.asp?arg1=${i}'&'arg2=${j}met curl retourneert de gevraagde webpagina .


Antwoord 4, autoriteit 13%

In plaats van de ontsnapping “&” te proberen karakters, kunt u http-url-parameters specificeren in POST-verzoeken met -d parameter zoals hieronder getoond:

curl -X POST http://www.example.com \
-d arg1=this \
-d arg2=that

Als het verzoek een GET is, moet u ook de optie -G toevoegen, die curl vertelt om de gegevens te verzenden met het GET-verzoek.

curl -X GET -G http://www.example.com \
-d arg1=this \
-d arg2=that

Antwoord 5, autoriteit 7%

Je kunt %26gebruiken in plaats van &.
De entiteitscode werkt prima.


Antwoord 6

Gebruik de parameter --urlmet dubbele aanhalingstekens werkte voor mij


Antwoord 7

gemakkelijkste manier:

curl -X GET -G http://example.com -d var1=$1 -d var2=$2

Other episodes