Последний ответ почти совершенен - только одна коррекция:
def replacenth(string, sub, wanted, n):
where = [m.start() for m in re.finditer(sub, string)][n - 1]
before = string[:where]
after = string[where:]
after = after.replace(sub, wanted)
newString = before + after
return newString
Послепорядка должна быть сохранена в этой переменной снова после замены. Спасибо за отличное решение!
Возврат 404 - что означает, ресурс не мог быть найден.
Попытка, редактируя URL сайта, который содержит идентификатор. Я попробовал некоторых:
BBC News Весь возврат 404, imo, потому что те разработчики интерпретируют стандарт правильно, который ответ здесь и многие другие, не!
Я не уверен, что существует установленный стандарт, но я бы использовал 400 неверный запрос
:
Запрос не может быть понят сервер из-за неправильного синтаксиса. Клиенту НЕ СЛЕДУЕТ повторять запрос без доработок.
Вы можете отправить 400 неверный код запроса. Это один из наиболее универсальных кодов состояния 4xx, поэтому вы можете использовать его для обозначения того, что вы намереваетесь: клиент отправляет запрос, в котором отсутствует информация / параметры, необходимые вашему приложению для его правильной обработки.
WCF API в .NET обрабатывает отсутствующие параметры, возвращая ошибку HTTP 404
«Конечная точка не найдена» при использовании webHttpBinding .
404 Not Found
может иметь смысл, если вы рассмотрите имя метода веб-службы вместе с его сигнатурой параметра. То есть, если вы открываете метод веб-службы LoginUser (string, string)
и запрашиваете LoginUser (string)
, последний не будет найден.
В основном это будет означать, что метод веб-службы, который вы вызываете, вместе с указанной вами сигнатурой параметра не может быть найден.
10.4.5 404 Not Found
Сервер не нашел ничего, соответствующего Request-URI. Нет указывается, является ли состояние временным или постоянный.
400 неверный запрос
, как Герт предложил , остается допустимым кодом ответа, но я думаю, что он обычно используется для обозначения проблем более низкого уровня. Его можно легко интерпретировать как искаженный HTTP-запрос, возможно, отсутствующие или недействительные HTTP-заголовки или что-то подобное.
10.4.1 400 неверный запрос
Запрос не может быть понят сервером из-за неправильного формата. синтаксис. Клиенту НЕ СЛЕДУЕТ повторять запрос без модификации.