GlideHTTPRequest – Global

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 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 eine Kopfzeile hinzu.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Headername, z. B. „Accept“ oder „Content-Type“.
    Wert Zeichenfolge Headerwert, z. B. application/json.
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel fügt die Anforderungskopfzeile „Akzeptieren“ hinzu und gibt die Anzahl der Incidents aus einer ServiceNow-Instanz zurück, 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. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie Sie dem REST-Endpunktaufruf den Parameter sysparm_limit hinzufügen, 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 Benutzernamen und ein Passwort für die Basic Authentication fest.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    userName Zeichenfolge Benutzername für die Authentifizierung.
    Kennwort Zeichenfolge Für die Authentifizierung verwendetes Passwort des Anwenders.
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie Sie mit der setBasicAuth()- Methode den Benutzernamen und das Passwort für den zugeordneten 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 die Content-Type-Kopfzeile 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 Content-Type finden Sie unter https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type.
    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie der Content-Type- Anforderungsheader für einen REST-Endpunktaufruf mit der setContentType()- Methode 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 „Follow Redirect“ für einen REST-Endpunktaufruf.

    Weitere Informationen zu HTTP-Weiterleitungen 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.
    • false: Alle zurückgegebenen Umleitungen ignorieren.
    Standardwert: true
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie Umleitungen für einen Endpunktaufruf mit der setFollowRedirect()- Methode 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 Zeitüberschreitungswert, der festgelegt werden soll.

    Einheit: Millisekunden

    Tabelle : 12. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie der Zeitüberschreitungswert für einen Endpunktaufruf mit der setTimeout()- Methode 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 empfohlen, die HTTP-Anforderungsprotokollierung in der Produktion auf basiczu belassen.

    Gültige Werte:

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

    Standard: einfach

    Tabelle : 14. Ergebnisse
    Typ Beschreibung
    void

    Dieses Beispiel zeigt, wie die Protokollebene für einen Endpunktaufruf mit der setLogLevel()- Methode 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 den Port für den zugeordneten REST-Aufruf fest.

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