2012-02-24 12 views
6

favor explicar este comando curl:Curl - - digerir comando

curl --digest \ 
    -u{username}:{password} \ 
    -v \ 
    -X PUT \ 
    -H 'Expect: ' \ 
    -H 'Content-type: application/xml' \ 
    -d @- \ 
    http://webapi.ebayclassifieds.com/webapi/partners/{username}/ads/{ext-reference-id} \ 
     < ad.xml 

¿Qué significa el signo <?

lo que entiendo:

[--digest] its a digest authentication 
[-u{username}:{password}] obviously username and password 
[-X PUT] method="put" 
[-H 'Expect: '] header = 'Expect: ' 
[-H 'Content-type: application/xml'] additional header 

Esto es probablemente lo que no entiendo -d @ - url < ad.xml [-d @ - http://webapi.ebayclassifieds.com/webapi/partners/ {usuario}/anuncios/{ext-referencia -id} < ad.xml]

Lo que encontré:

-d, --Hojas

(HTTP) Envía los datos especificados en una solicitud POST al servidor HTTP, de la misma manera que un navegador cuando un usuario ha rellenado un formulario HTML y presiona el botón Enviar. Esto hará que curl pase los datos al servidor utilizando el tipo de contenido application/x-www-form-urlencoded. Compare con -F, --form.

-d, --data es el mismo que --data-ascii. Para publicar datos puramente binarios, en su lugar debe usar la opción --data-binary. Para codificar en URL el valor de un campo de formulario, puede usar --data-urlencode.

Si cualquiera de estas opciones se utiliza más de una vez en la misma línea de comandos , las piezas de datos especificados se fusionarán junto con un separar & -Símbolo. Por lo tanto, usando '-d nombre = daniel -d habilidad = pésimo' sería generar un trozo de publicación que se parece a 'nombre = daniel & habilidad = pésimo'.

Si inicia los datos con la letra @, el resto debe ser un nombre de archivo para leer los datos, o - si desea que curl lea los datos de stdin. El contenido del archivo ya debe tener codificación URL. También se pueden especificar múltiples archivos. La publicación de datos de un archivo llamado 'foobar' se haría con --data @foobar.

líder pregunta: Si alguien sabe cómo traducir esto a cfhttp simplemente no me importa la autenticación Digest y asumen solicitud está trabajando con la autenticación implícita.

+0

¿por qué está etiquetado como coldfusion? –

+0

@Mike en la pregunta principal que mencioné cfhttp. – Vlad

Respuesta

1

La opción "-d @ -" significa que curl enviará una solicitud POST con los datos que lee de stdin.

El operador '<' le dice al shell que alimente un archivo a stdin.

Puede hacer una línea de comando más simple al hacer -d @ ad.xml y no usar stdin en absoluto.

+1

En términos de cf, puede publicar una cadena xml usando '' – Leigh