Амперсанд заменяется запятой

Я пытаюсь сделать вызов jira для отдыха, и jql выглядит следующим образом.

jql = "Project" = "Test: Dev int: commons & Uig mat"

поэтому, когда я делаю оставшийся вызов jira, он заменяет jql, как показано ниже:

jql = "Project" = "Test: Dev int: commons ',' Uig mat"

поэтому & заменяется на "," что выдает ошибку, так как этот проект недоступен в jira

Я попытался заменить «,» на &, он снова заменяет его на «,» во время запуска.

import requests

url = "https://jira.com/login/rest/api/2/search"
querystring = {jql='working Project' = 'Test: Dev int: commons & Uig mat'}


headers = {
    'content-type': "application/json",
}

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

Я хочу передать точную строку jira для обработки и выполнения запроса

В нынешнем виде ваш код querystring недействителен для Python. Если в вашей строке есть двойные кавычки, подумайте о том, чтобы сделать внешний набор кавычек одинарными, чтобы вам не приходилось избегать двойных кавычек внутри.

Green Cloak Guy 16.07.2019 19:04

@GreenCloakGuy - спасибо за ответ, но этот код был от почтальона после обработки, поэтому он меняет фактический вызов jira API на этот. но теперь я напрямую сделал вызов API, это все та же ошибка. { "errorMessages": [ "Ошибка в запросе JQL: строка в кавычках "Test: Dev int: commons" не была завершена. ], "errors": {} }

Kumar 16.07.2019 19:15

Вы не можете использовать амперсанды и пробелы в URL-адресах. Может быть, вам нужно их Код URI?

Boris 16.07.2019 19:17

В качестве альтернативы, вы пытались экранировать амперсанд с помощью символа обратной косой черты? (что может потребовать двойной обратной косой черты, чтобы избежать самого символа обратной косой черты)

Green Cloak Guy 16.07.2019 19:17

@GreenCloakGuy - я сбежал, используя \\ и \, но не повезло, выдает ошибку. { "errorMessages": [ "Ошибка в запросе JQL: escape-последовательность не была завершена. Допустимые escape-последовательности: \\', \\\", \\t, \\n, \\r, \\\ \, '\\' и \\uXXXX.], "ошибки": {} }

Kumar 19.07.2019 20:45

Можете ли вы попробовать поместить строку в тройные кавычки, а затем посмотреть, работает ли она? Пример - """<ваша строка здесь> """

Gagan 19.07.2019 20:52

Я просто заменил & на %26, и все заработало.

Kumar 19.07.2019 22:36
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
7
419
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я только что заменил & на %26, и все заработало.

Возникла проблема с запросом Jira Jql, решена с помощью %26. Это пример:

{
"key": "search?jql= project = \"SS\" AND \"Customer Request Type\" = \"Infinity %26 Website (SS)\" AND \"Infinity Customer ID\" ~ \"417761\""
}

Другие вопросы по теме