2013-07-17 4 views
37

Я хочу использовать wget для загрузки изображения на удаленный сервер с использованием токена аутентификации: «AUTH_1624582364932749DFHDD» в папку «test».Почтовый запрос с Wget?

эта команда не работает (Ошибка авторизации), и я хочу, чтобы убедиться, что это не о синтаксисе:

wget --post-file=nature.jpg http://ipadress:8080/v1/AUTH_test/test/ --post-data="AUTH_1624582364932749DFHDD" 

Любые предложения?

ответ

54

man wget говорит:

только один из --post-данных и --post-файл должен быть указан.

Полный абзац:

--post-data=string 
     --post-file=file 
      Use POST as the method for all HTTP requests and send the specified data 
      in the request body. --post-data sends string as data, whereas 
      --post-file sends the contents of file. Other than that, they work in 
      exactly the same way. In particular, they both expect content of the 
      form "key1=value1&key2=value2", with percent-encoding for special 
      characters; the only difference is that one expects its content as a 
      command-line parameter and the other accepts its content from a file. In 
      particular, --post-file is not for transmitting files as form 
      attachments: those must appear as "key=value" data (with appropriate 
      percent-coding) just like everything else. Wget does not currently 
      support "multipart/form-data" for transmitting POST data; only 
      "application/x-www-form-urlencoded". Only one of --post-data and 
      --post-file should be specified. 

В частности, он сказал:

--post-файл не предназначен для передачи файлов в виде вложений в форме: те должны выглядеть как «ключ = значение "

Редактировать:Редактировать: Вы должны понимать принцип данных «ключ = значение». В запросе POST, как и в запросе GET, вы должны указать данные, используя ключи и значения. Таким образом, сервер сможет получать несколько информации с конкретными именами. Это похоже на переменные.

Следовательно, вы не можете просто отправить волшебный токен на сервер, вам также нужно указать имя ключа. Если ключ является «токеном», то он должен быть token=YOUR_TOKEN.

Кроме того, вам следует рассмотреть возможность использования завитка, если это возможно, потому что с его помощью проще отправлять файлы. Для этого есть много примеров в Интернете.

+0

Как я могу отправить токен авторизации в этом случае? – Dady

+0

Если бы это была основная форма html, как бы вы назвали вход, содержащий токен? Потому что это должно быть: токен = AUTH_1624582364932749DFHDD –

+0

@Dady: Используйте 'curl'? – Hasturkun

Смежные вопросы