2010-01-18 3 views
0

Это работает:локон --form перенаправлением файла

curl --url http://someurl.tld --form "apikey=39485730" 

Это не:

curl --url http://someurl.tld --form "apikey=<keyfile" 

Ошибка: Недействительные ключи API

локонов руководство (http://curl.haxx.se/docs/manpage.html) прямо говорится

-F/--form (HTTP) This lets curl emulate a filled-in form in which a user has pressed the submit button. [...] To force the 'content' part to be a file, prefix the file name with an @ sign. To just get the content part from a file, prefix the file name with the symbol <. The difference between @ and < is then that @ makes a file get attached in the post as a file upload, while the < makes a text field and just get the contents for that text field from a file.


FWIW: Если я использую --form "apikey = @ keyfile", я получаю сообщение об ошибке: «требуется ключ API». Это подтверждает, что @ определенно неправа (с которым я в порядке). Но почему < не работает, и что с этим делать?

Похоже, что содержимое файла либо не передано, либо неверно. Таким образом, я сделал четверку уверенным, что только ключ api (здесь: 39485730) и ничего больше в файле.


Если это важно, почему я пытаюсь сделать это:
мне нужна этот локон-команда в скриптах, и не хочу, чтобы положить ключ API там. Вместо этого он должен находиться в ДОМЕ пользователя, который запускает этот скрипт, только читаемый им, и никто другой.

Спасибо заранее за любую проницательность ... :-)

+0

Я верю, что ваш вопрос будет лучше при переполнении стека. – alex

ответ

2

Я думаю, что вы могли бы иметь косой символ новой строки в keyfile. Вы можете проверить это с помощью:

xxd keyfile 

Там не должно быть никаких 0a в конце. Если есть, то вы можете повторно создать файл_ключи без символа новой строки, как это:

echo -n 39485730 > keyfile 

и попробовать еще раз с новым keyfile.

+0

ДА !! Хотя я очень старался с vim * not *, чтобы войти в один, увы, вот он. Огромное спасибо!! (И сверху: xxd - хорошая команда, я использую неудобный hexdump, но xxs - * nice *). – 2010-01-19 17:00:09

+0

Да, к сожалению, довольно сложно избежать этой конечной новой строки с помощью vim. См. Http://stackoverflow.com/questions/1050640/vim-disable-automatic-newline-at-end-of-file –

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