GlideHTTPRequest - Global

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 6 min. de leitura
  • A API GlideHTTPRequest fornece métodos de utilitário para executar funções comuns com solicitações HTTP do Glide.

    Você pode usar esta API em scripts globais do lado do servidor. Para usar essa classe, crie uma instância de um objeto GlideHTTPRequest usando o construtor. O construtor requer um URL de endpoint como um parâmetro de entrada.

    GlideHTTPRequest - addHeader(cadeia de caracteres nome, cadeia de caracteres valor)

    Adiciona um cabeçalho à sua solicitação HTTP.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Nome do cabeçalho, como Accept ou Content-Type.
    valor Cadeia de caracteres Valor de cabeçalho, como application/json.
    Tabela 2. Retorna
    Tipo Descrição
    vazio

    Este exemplo adiciona o cabeçalho da solicitação "Aceitar" e retorna o número dos incidentes de uma instância da ServiceNow, analisando as respostas JSON ou XML.

    var instance = 'dev12345';
    var username = 'admin';
    var password = 'yourpassword';
    
    // Instantiate request with ServiceNow API incidents table endpoint
    var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Add the Accept header to get JSON response
    request.addHeader('Accept', 'application/json');
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());
    gs.print('(JSON) Incidents returned: ' + JSON.parse(response.getBody()).result.length);
    
    // Replace the Accept header to get XML response
    request.addHeader('Accept', 'application/xml');
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());
    gs.print('(XML) Incidents returned: ' + gs.xmlToJSON(response.getBody()).response.result.length);

    Saída

    200
    (JSON) Incidents returned: 66
    200
    (XML) Incidents returned: 66

    GlideHTTPRequest - addParameter(cadeia de caracteres nome, cadeia de caracteres valor)

    Adiciona um parâmetro à sua solicitação HTTP.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    nome Cadeia de caracteres Parâmetro a ser adicionado, como sysparm_limit.
    valor Cadeia de caracteres Valor do parâmetro.
    Tabela 4. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como adicionar o parâmetro sysparm_limit à chamada de endpoint REST para limitar o número de respostas retornadas.

    var instance = 'dev12345';
    var username = 'admin';
    var password = 'yourpassword';
    
    // Instantiate request with ServiceNow API incidents table endpoint
    var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Add the 'sysparm_limit' parameter to limit the number of records returned
    request.addParameter('sysparm_limit', 1);
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());
    gs.print('Incidents returned: ' + JSON.parse(response.getBody()).result.length);

    Saída:

    200
    Incidents returned: 1

    GlideHTTPRequest - setBasicAuth(cadeia de caracteres userName, cadeia de caracteres password)

    Define um nome de usuário e senha para autenticação básica.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    userName Cadeia de caracteres Nome de usuário a ser usado para autenticação.
    password Cadeia de caracteres Senha do usuário a ser usada para autenticação.
    Tabela 6. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como usar o método setBasicAuth() para definir o nome de usuário e a senha para a chamada de endpoint REST associada.

    var instance = 'dev12345';
    var username = 'admin';
    var password = 'yourpassword';
    
    // Instantiate request with ServiceNow API incidents table endpoint
    var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Add the Accept header to get JSON response
    request.addHeader('Accept', 'application/json');
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());
    gs.print('(JSON) Incidents returned: ' + JSON.parse(response.getBody()).result.length);
    
    // Replace the Accept header to get XML response
    request.addHeader('Accept', 'application/xml');
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());
    gs.print('(XML) Incidents returned: ' + gs.xmlToJSON(response.getBody()).response.result.length);

    Saída

    200
    (JSON) Incidents returned: 66
    200
    (XML) Incidents returned: 66

    GlideHTTPRequest - setContentType(tipo de cadeia de caracteres)

    Define o cabeçalho Content-Type da sua solicitação HTTP para o valor especificado.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    tipo Cadeia de caracteres Tipo de conteúdo a ser definido, como application/json ou multipart/form-data. Para obter informações adicionais sobre Content-Type, consulte https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type.
    Tabela 8. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como definir o cabeçalho da solicitação Content-Type para uma chamada de endpoint REST usando o método setContentType().

    var instance = 'dev12345';
    var username = 'admin';
    var password = 'yourpassword';
    
    // Instantiate request with ServiceNow API incidents table endpoint
    var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Set up incident record to post
    
    // Set the Content-Type of the POST
    request.setContentType('application/json');
    
    // Execute the POST request
    var response = request.post();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());

    Saída

    200
    

    GlideHTTPRequest - setFollowRedirect(boolean followRedirect)

    Habilita ou desabilita a opção de redirecionamento seguir para uma chamada de endpoint REST.

    Para obter informações adicionais sobre redirecionamentos HTTP, consulte https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections.

    Tabela 9. Parâmetros
    Nome Tipo Descrição
    sigaRedirecionar Booliano Sinalizador que indica se o endpoint deve seguir qualquer redirecionamento de URL retornado pelo endpoint.
    Valores válidos:
    • verdadeiro: seguindo qualquer redirecionamento retornado.
    • falso: ignore qualquer redirecionamento retornado.
    Padrão: verdadeiro
    Tabela 10. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como desativar redirecionamentos para uma chamada de endpoint usando o método setFollowRedirect().

    var instance = 'dev12345';
    var username = 'admin';
    var password = 'yourpassword';
    
    // Instantiate request with ServiceNow API incidents table endpoint
    var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Add the Accept header to get JSON response
    request.addHeader('Accept', 'application/json');
    
    // Turn off follow redirect - default is on (true)
    request.setFollowRedirect(false);
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());

    Saída

    200

    GlideHTTPRequest - setHttpTimeout(int timeout)

    Define o valor do tempo limite de HTTP em milissegundos.

    Tabela 11. Parâmetros
    Nome Tipo Descrição
    tempo limite Inteiro Valor de tempo limite a ser definido.

    Unidade: milissegundos

    Tabela 12. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como definir o valor de tempo limite para uma chamada de endpoint usando o método setTimeout().

    var instance = 'dev12345';
    var username = 'admin';
    var password = 'yourpassword';
    
    // Instantiate request with ServiceNow API incidents table endpoint
    var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Add the Accept header to get JSON response
    request.addHeader('Accept', 'application/json');
    
    // Set the time out value
    request.setHttpTimeOut(1000);
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());

    Saída

    200

    GlideHTTPRequest - setLogLevel(cadeia de caracteres logLevel)

    Define o nível de log para uma solicitação HTTP.

    Tabela 13. Parâmetros
    Nome Tipo Descrição
    logLevel Cadeia de caracteres O nível de registro em log disponível.
    Nota:
    Por motivos de desempenho, na produção, é aconselhável deixar o registro em log de solicitação HTTP em basic.

    Valores válidos:

    • básico: cobre muitos dos atributos da transação HTTP, incluindo host, caminho, status da resposta e assim por diante.
    • elevado: inclui todos os basic, bem como todos os cabeçalhos de solicitação, a cadeia de caracteres de consulta e todos os cabeçalhos de resposta.
    • all: inclui todos os elevated, bem como o corpo da solicitação e o corpo da resposta.

    Padrão: básico

    Tabela 14. Retorna
    Tipo Descrição
    vazio

    Este exemplo mostra como definir o nível de log para uma chamada de endpoint usando o método setLogLevel().

    var instance = 'dev12345';
    var username = 'admin';
    var password = 'yourpassword';
    
    // Instantiate request with ServiceNow API incidents table endpoint
    var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');
    
    // Add authentication data
    request.setBasicAuth(username, password);
    
    // Add the Accept header to get JSON response
    request.addHeader('Accept', 'application/json');
    
    // Set the time out value
    request.setLogLevel(elevated);
    
    // Execute the GET request
    var response = request.get();
    
    // Print the results: status code and number of records returned
    gs.print(response.getStatusCode());

    Saída

    200

    GlideHTTPRequest - setupProxy (cadeia de caracteres host, cadeia de caracteres porta)

    Define o host do proxy e a porta da chamada REST associada.

    Tabela 15. Parâmetros
    Nome Tipo Descrição
    Host Cadeia de caracteres Host do proxy
    port Cadeia de caracteres Porta do proxy
    Tabela 16. Retorna
    Tipo Descrição
    vazio