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 %26
worden 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 %26
gebruiken in plaats van &
.
De entiteitscode werkt prima.
Antwoord 6
Gebruik de parameter --url
met dubbele aanhalingstekens werkte voor mij
Antwoord 7
gemakkelijkste manier:
curl -X GET -G http://example.com -d var1=$1 -d var2=$2