2012-02-24 24 views
6

Proszę to wyjaśnić polecenia curl strawić:cURL - - polecenie

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 

Co oznacza znak < oznacza?

Co rozumiem:

[--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 

To jest chyba to, czego nie rozumiem -d @ - URL < ad.xml [-d @ - http://webapi.ebayclassifieds.com/webapi/partners/ {username}/reklamy/{ext-reference -id} < ad.xml]

Co znalazłem:

-d, --data

(HTTP) Wysyła określone dane w żądaniu POST do serwera HTTP, w taki sam sposób jak przeglądarka, gdy użytkownik wypełnił formularz HTML i naciśnie przycisk przesyłania. Spowoduje to, że curl przesyła dane z serwera przy użyciu typu zawartości application/x-www-form-urlencoded. Porównaj z -F, --form.

-d, --data jest taka sama jak --data-ascii. Aby opublikować dane wyłącznie w postaci binarnej, powinieneś użyć opcji --data-binary. Aby zakodować wartość pola w polu formularza, można użyć --data-urlencode.

Jeśli którykolwiek z tych opcji nie stosuje się więcej niż jeden raz na tej samej linii poleceń , kawałki danych wymienione zostaną połączone razem z oddzielając & -symbol. W ten sposób użycie opcji "-d nazwa = daniel -d skill = lousy" wygenerowałoby post, który wygląda jak 'name = daniel & skill = lousy'.

Jeśli zaczniesz dane z literą @, reszta powinna być nazwa pliku do odczytu danych z, lub - jeśli chcesz zwijają się odczytać danych ze standardowego wejścia. Zawartość pliku musi już być zakodowana za pomocą adresu URL. Można również określić wiele plików. Publikowanie danych z pliku o nazwie "foobar" byłoby w ten sposób wykonane z --data @foobar.

Główny pytanie: Jeśli ktoś wie, jak przełożyć to na cfhttp tylko nie przeszkadza Uwierzytelnianie szyfrowane i zakładać prośba pracuje z uwierzytelniania szyfrowanego.

+0

dlaczego jest to oznaczane jako coldfusion? –

+0

@Mike w czołowym pytaniu wspomniałem cfhttp. – Vlad

Odpowiedz

1

Opcja "-d @ -" oznacza, że ​​curl wyśle ​​żądanie POST z danymi odczytanymi ze standardowego wejścia.

Operator "<" mówi powłoce, aby przekazała plik do standardowego wejścia.

Można utworzyć prostszą linię komend, wykonując zamiast niej polecenie -d @ ad.xml i w ogóle nie używaj stdin.

+1

W kategoriach cf można umieścić ciąg xml za pomocą '' – Leigh