Fluxos de trabalho · Parâmetros URL com ordem preservada ×
import re
from urllib.parse import parse_qsl, urlencode
def append_query(query, key, value):
if any(type(x) is not str for x in (query, key, value)):
raise ValueError("query.type")
if re.search(r"%(?![0-9A-Fa-f]{2})", query):
raise ValueError("query.escape")
pairs = parse_qsl(query, keep_blank_values=True,
strict_parsing=True, errors="strict", max_num_fields=1000)
return urlencode([*pairs, (key, value)])
✳Parâmetros URL com ordem preservada
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
Revise antes de aplicar
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
Modelos
Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.
Projeto
Diferencie o sinal de mais codificado como %2B de um espaço e rejeite escapes percentuais ou UTF-8 inválidos.
import re
from urllib.parse import parse_qsl, urlencode
def append_query(query, key, value):
if any(type(x) is not str for x in (query, key, value)):
raise ValueError("query.type")
if re.search(r"%(?![0-9A-Fa-f]{2})", query):
raise ValueError("query.escape")
pairs = parse_qsl(query, keep_blank_values=True,
strict_parsing=True, errors="strict", max_num_fields=1000)
return urlencode([*pairs, (key, value)])
Ambiente de programação com IA
Preserve o significado das requisições ao alterar código de URLs
QueryNest é um ambiente de programação com IA para Windows destinado a desenvolvedores que precisam alterar o código de construção de requisições sem perder o significado das entradas. Selecione a pasta do projeto e descreva quais valores de consulta devem sobreviver à mudança. Peça ao assistente conectado que examine tanto a análise quanto a serialização, incluindo chamadores que dependem da ordem, de campos vazios ou de nomes repetidos. Isso transforma uma edição de string em uma tarefa de aplicação que pode ser revisada.
No exemplo query_pairs.py, acrescentar um par levanta questões sobre valores em branco já existentes e sequências de escape malformadas. Você pode usar esse contexto para examinar uma função auxiliar semelhante no seu projeto. QueryNest não fornece um serviço de processamento de URLs; o exemplo ilustra código para discutir e verificar. Revise a proposta com base nos dados aceitos pelo aplicativo, em vez de presumir que converter tudo em um dicionário preserva a requisição.
Depois, execute as verificações do projeto com consultas comuns e com os casos que distinguem o comportamento anterior do pretendido. Examine tanto o resultado serializado quanto o que o consumidor lê dele. QueryNest se conecta a endpoints suportados compatíveis com OpenAI ou da Anthropic, com credenciais quando necessário. Um modelo sem filtros pode ser selecionado quando oferecido, mas as restrições do provedor continuam valendo e o servidor determina as ferramentas e o contexto. O contrato da requisição continua sendo a base para aceitar o código.
Perguntas sobre alterações em funções auxiliares de strings de consulta
Por que nomes repetidos na consulta exigem atenção explícita?
Uma requisição pode conter mais de um par com o mesmo nome, e um consumidor pode depender desses valores. Informe ao assistente se eles devem ser mantidos e examine qualquer estrutura de dados proposta que possa descartá-los.
Valores em branco são iguais a campos ausentes?
Não necessariamente. Seu aplicativo pode interpretar um campo vazio de maneira diferente de um campo que nunca foi fornecido. Inclua os dois casos na tarefa e verifique o analisador e o serializador juntos antes de decidir que seus comportamentos são intercambiáveis.
QueryNest validará as URLs enviadas pelo meu aplicativo?
O exemplo é um fluxo de desenvolvimento, não um gateway de validação automática. Você revisa e testa seu próprio código auxiliar no projeto. Os formatos de URL aceitos e o comportamento de rejeição precisam ser definidos pelo aplicativo.
E se a nova saída usar outra codificação?
Verifique se o consumidor lê os mesmos valores e se a serialização exata importa para a integração. Textos aparentemente equivalentes ainda podem afetar assinaturas ou comparações; por isso, informe essas dependências antes de aceitar uma mudança de normalização.