Скрипт curl bash усечен / объединен - PullRequest
0 голосов
/ 11 октября 2019

Моя цель состоит в том, чтобы заставить bash-скрипты встать, чтобы получить токен из WEB API и проанализировать этот токен в команду post, которая затем создаст новую учетную запись (на основе пользовательского ввода) для этого WEB API. Он успешно получает токен, но когда я ссылаюсь на переменную в моей команде POST, он либо обрезает ее, либо объединяет с вкладкой. Кто-нибудь видел это раньше?

Я читал похожую проблему, где проблема заключалась в заголовке контента, я удалил его, но это не решило проблему.

Предупреждение ... Я учусь, поэтому мой код не самый лучший!

Мой bash-скрипт:

#!/bin/bash

curl --insecure -X POST \
  https://192.168.XX.XXX:8443/application/token \
  -H 'Accept: */*' \
  -H 'Accept-Encoding: gzip, deflate' \
  -H 'Cache-Control: no-cache' \
  -H 'Connection: keep-alive' \
  -H 'Content-Type: application/xml' \
  -H 'Host: 192.168.XX.XX:8443' \
  -H 'cache-control: no-cache' \
  -H 'client-key: 123' \
  -H 'client-name: 1234' \
  -H 'client-secret: 123456' \
  -H 'grant_type: OAuth' \
  -d '<request>
    <username>johndoe</username>
    <password>secret</password>
</request>' > tokenNewAcc.xml

grep 'access_token' tokenNewAcc.xml | sed 's/.*://' | sed s/,// |  tr -d '"' > /home/oracle/tokenNewAcc.txt

rm tokenNewAcc.xml

value=`cat /home/oracle/tokenNewAcc.txt`

MYVAR=`cat /home/oracle/testaccounts.txt`

ID=`cut -d' ' -f1  /home/oracle/testaccounts.txt`
FNAME=`cut -d' ' -f2  /home/oracle/testaccounts.txt`
LNAME=`cut -d' ' -f3 /home/oracle/testaccounts.txt`
EMAIL=`cut -d' ' -f4  /home/oracle/testaccounts.txt`L
\

curl -k -X POST \
  https://192.168.XX.XXX:8443/application/accounts \
  -H 'Accept: */*' \
  -H 'Content-Type: application/xml' \
  -H 'Host: 192.168.XX.XXX:8443' \
  -H "auth: "$value"" \
  -H 'cache-control: no-cache' \
  -d '<request>
<userid'$ID'</userid>
<firstname>'$FNAME'</firstname>
<lastname>'$LNAME'</lastname>
<email>'$EMAIL'</email>
</request>'


OUTPUT of POST where it has trouble:

curl -k -X POST https://192.168.36.XXX:8443/cloudminder/accounts -H 'Accept: */*' -H 'Content-Type: application/xml' -H 'Host: 192.168.36.1' -H 'cache-control: no-cache' -d '<request>ad9f23295b6
<useridconnectortest</userid>
<firstname>conn</firstname>
<lastname>connect</lastname>
<email>connectorL</email>
</request>'

Как видите, хостURL обрезается, начало токена (ad9f23295b6) сливается с запросом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...