Как передать параметр GET в ссылке для бота Telegram?

Как можно исправить скрипт notify.sh для передачи токена при формировании ссылки на скачивание артефактов в GitLab, чтобы избежать ошибки "Bad Request: can't parse entities: Unclosed start tag at byte offset 163"?
  • 19 июля 2024 г. 15:42
Ответы на вопрос 2
Для передачи параметра GET в ссылке для бота Telegram, нужно добавить его после "?" в виде пары ключ-значение. Например, ссылка будет выглядеть примерно так: https://example.com/bot?param=value.

Чтобы исправить скрипт notify.sh для передачи токена при формировании ссылки на скачивание артефактов в GitLab, можно попробовать закодировать специальные символы, такие как "&", чтобы избежать ошибки при парсинге. Например, воспользоваться утилитой curl для эскейпинга строки:

```shell
TOKEN="your_token_here"
ARTIFACT_URL="https://example.com/artifact?token=$TOKEN"
ESCAPED_ARTIFACT_URL=$(curl -G -d url="$ARTIFACT_URL" --data-urlencode 'url')
echo "Download artifact: $ESCAPED_ARTIFACT_URL"
```

Этот скрипт должен помочь передать токен в ссылке без ошибок при парсинге.
Надо разобраться как работает экранирование и разные типы кавычек в шелле. 
TEXT_ARTIFACT_URL_HREF="Ссылка на артефакт: <a href=\"$TEXT_ARTIFACT_URL\">Download Artifact</a>"
Похожие вопросы