it-swarm.com.de

How to POST URL in Daten einer Curl-Anfrage

Ich versuche, zwei Parameter mit curl, path und fileName zu posten:

curl --request POST 'http://localhost/Service' --data "path='/xyz/pqr/test/'&fileName='1.doc'"

Ich weiß, dass daran etwas nicht stimmt. Ich muss so etwas wie URLEncode verwenden. Ich habe vieles versucht noch kein Glück.

Bitte geben Sie ein Beispiel an, wie ich die URL in Daten der Curl-Anfrage posten kann.

37
Vivek Muthal

Möglicherweise müssen Sie die einfachen Anführungszeichen nicht einfügen:

curl --request POST 'http://localhost/Service' --data "path=/xyz/pqr/test/&fileName=1.doc"

Update: Wenn Sie das Handbuch von curl lesen, können Sie beide Felder mit zwei --Daten trennen:

curl --request POST 'http://localhost/Service' --data "path=/xyz/pqr/test/" --data "fileName=1.doc"

Sie könnten auch versuchen --data-binary:

curl --request POST 'http://localhost/Service' --data-binary "path=/xyz/pqr/test/" --data-binary "fileName=1.doc"

Und --data-urlencode:

curl --request POST 'http://localhost/Service' --data-urlencode "path=/xyz/pqr/test/" --data-urlencode "fileName=1.doc"
53
konsolebox

Ich glaube nicht, dass es notwendig ist, die Variablen in Anführungszeichen zu setzen. Versuchen Sie Folgendes:

curl -XPOST 'http://localhost/Service' -d "path=%2fxyz%2fpqr%2ftest%2f&fileName=1.doc"

%2f ist der Escape-Code für ein /.

http://www.december.com/html/spec/esccodes.html

Müssen Sie auch einen Port angeben? (überprüfe nur :))

2
Patrick