GlideHTTPRequest : Global

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 5 Minuten Lesedauer
  • Die GlideHTTPRequest -API bietet Dienstprogrammmethoden zum Ausführen allgemeiner Funktionen mit Glide-HTTP-Anforderungen.

    Sie können diese API in globalen serverseitigen Skripts verwenden. Um diese Klasse zu verwenden, instanziieren Sie ein GlideHTTPRequest-Objekt mithilfe des Konstruktors. Der Konstruktor benötigt eine Endpunkt-URL als Eingabeparameter.

    GlideHTTPRequest – addHeader(String name, String value)

    Fügt Ihrer HTTP-Anforderung einen Header hinzu.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Headername, z. B. „ Akzeptieren “ oder „Inhaltstyp“.
    Wert Zeichenfolge Headerwert, z. B. application/json.
    Tabelle : 2. Rückgaben
    Typ Beschreibung
    void

    In diesem Beispiel wird der Anforderungsheader „Akzeptieren“ hinzugefügt, und die Anzahl der Incidents wird aus einer ServiceNow-Instanz zurückgegeben, wobei die JSON- oder XML-Antworten analysiert werden.

    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);

    Ausgabe

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

    GlideHTTPRequest – addParameter(String name, String value)

    Fügt Ihrer HTTP-Anforderung einen Parameter hinzu.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Hinzuzufügender Parameter, z. B. sysparm_limit.
    Wert Zeichenfolge Wert für den Parameter.
    Tabelle : 4. Rückgaben
    Typ Beschreibung
    void

    In diesem Beispiel wird gezeigt, wie dem REST-Endpunktaufruf der Parameter sysparm_limit hinzugefügt wird, um die Anzahl der zurückgegebenen Antworten zu begrenzen.

    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);

    Ausgabe:

    200
    Incidents returned: 1

    GlideHTTPRequest – setBasicAuth(String userName, String password)

    Legt einen Anwendernamen und ein Passwort für die Standardauthentifizierung fest.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    userName Zeichenfolge Anwendername für die Authentifizierung.
    Passwort Zeichenfolge Für die Authentifizierung zu verwendendes Passwort des Anwenders.
    Tabelle : 6. Rückgaben
    Typ Beschreibung
    void

    In diesem Beispiel wird gezeigt, wie Sie mit der Methode setBasicAuth() den Anwendernamen und das Passwort für den zugehörigen REST-Endpunktaufruf festlegen.

    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);

    Ausgabe

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

    GlideHTTPRequest – setContentType(String type)

    Legt den Inhaltstyp-Header für Ihre HTTP-Anforderung auf den angegebenen Wert fest.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Typ Zeichenfolge Festzulegender Inhaltstyp, z. B. application/json oder multipart/form-data. Weitere Informationen zu Inhaltstyp finden Sie unter https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type.
    Tabelle : 8. Rückgaben
    Typ Beschreibung
    void

    In diesem Beispiel wird gezeigt, wie der Inhaltstyp- Anforderungsheader für einen REST-Endpunktaufruf mithilfe der Methode „setContentType()“ festgelegt wird.

    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());

    Ausgabe

    200
    

    GlideHTTPRequest – setFollowRedirect(boolean followRedirect)

    Aktiviert oder deaktiviert die Option „Weiterleitung verfolgen“ für einen REST-Endpunktaufruf.

    Weitere Informationen zu HTTP-Umleitungen finden Sie unter https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    FollowRedirect Boolean Kennzeichnung, die angibt, ob der Endpunkt einer vom Endpunkt zurückgegebenen URL-Umleitung folgen soll.
    Gültige Werte:
    • true: Nach jeder zurückgegebenen Umleitung.
    • „falsch“: Alle zurückgegebenen Umleitungen ignorieren.
    Standardwert: wahr
    Tabelle : 10. Rückgaben
    Typ Beschreibung
    void

    In diesem Beispiel wird gezeigt, wie Umleitungen für einen Endpunktaufruf mit der Methode „setFollowRedirect()“ deaktiviert werden.

    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());

    Ausgabe

    200

    GlideHTTPRequest – setHttpTimeout(int timeout)

    Legt den HTTP-Zeitüberschreitungswert in Millisekunden fest.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    timeout Ganzzahl Festzulegender Zeitüberschreitungswert.

    Einheit: Millisekunden

    Tabelle : 12. Rückgaben
    Typ Beschreibung
    void

    In diesem Beispiel wird gezeigt, wie der Zeitüberschreitungswert für einen Endpunktaufruf mit der Methode setTimeout() festgelegt wird.

    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());

    Ausgabe

    200

    GlideHTTPRequest – setLogLevel(String logLevel)

    Legt die Protokollebene für eine HTTP-Anforderung fest.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    logLevel Zeichenfolge Die verfügbare Protokollierungsebene.
    Hinweis:
    Aus Leistungsgründen wird in der Produktion empfohlen, die HTTP-Anforderungsprotokollierung bei basiczu belassen.

    Gültige Werte:

    • Standard: Umfasst viele Attribute der HTTP-Transaktion, einschließlich Host, Pfad, Antwortstatus usw.
    • erhöht: Enthält alle basicsowie alle Anforderungsheader, die Abfragezeichenfolge und alle Antwortheader.
    • all: Enthält elevatedsowie den Anforderungstext und den Antworttext.

    Standard: einfach

    Tabelle : 14. Rückgaben
    Typ Beschreibung
    void

    In diesem Beispiel wird gezeigt, wie die Protokollebene für einen Endpunktaufruf mit der Methode setLogLevel() festgelegt wird.

    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());

    Ausgabe

    200

    GlideHTTPRequest – setupProxy(String host, String port)

    Legt den Proxy-Host und -Port für den zugehörigen REST-Aufruf fest.

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    host Zeichenfolge Proxy-Host
    port Zeichenfolge Proxy-Port
    Tabelle : 16. Rückgaben
    Typ Beschreibung
    void