{"title":"GET Request","nodeType":"Manipulator","id":"*jrLgNd_aIVOrfPsF","factoryName":"org.knime.rest.nodes.get.RestGetNodeFactory","factoryId":"org.knime.rest.nodes.get.RestGetNodeFactory","path":["Tools & Services","REST Web Services"],"owner":"knime","ownerAccountId":"account:team:b5f0848f-496d-4e6a-b869-fa3532248db7","description":"<p>This node can be used to issue HTTP GET requests. GET requests are used to retrieve data from a web service without sending any data other than (optional) request parameters.</p>\n             \n            <p>The node allows you to either send a request to a fixed URL (which is specified in the dialog) or to a list of URLs provided by an optional input table. Every URL will result in one request which in turn will result in one row in the output table. You can define custom request headers in the dialog.</p>\n             \n            <p>By default the output table will contain a column with the received data, its content type, and the HTTP status code. The node tries to automatically convert the received data into a KNIME data type based on its content type. In case no automatic conversion is possible, binary cells will be created.\n <br />\n You can extract additional response headers into column by defining them in the dialog.</p>\n             \n            <p>The node supports several authentication methods, e.g. BASIC and DIGEST. Other authentication methods may be provided by additional extensions.</p>\n             \n            <p>The node supports the Credential port as input (see dynamic input ports). If the port is added, it must supply a Credential that can be embedded into the HTTP Authorization header, and all request done by the node will use the Credential from the port, regardless of other node settings. The OAuth2 Authenticator nodes provide such a Credential for example.</p>\n            \n        \n        ","shortDescription":"GET REST client","keywords":[],"deprecated":false,"streamable":true,"tags":["Tools & Services","REST Web Services","Streamable"],"icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QjY2RjQ4NzcxNTM2MTFFNjg5MEZEODdDQjVERUQ4REMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QjY2RjQ4NzgxNTM2MTFFNjg5MEZEODdDQjVERUQ4REMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpCNjZGNDg3NTE1MzYxMUU2ODkwRkQ4N0NCNURFRDhEQyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpCNjZGNDg3NjE1MzYxMUU2ODkwRkQ4N0NCNURFRDhEQyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrPqCU8AAAFqSURBVHjaYvz//z8DCDCBCJ+Fe/8DBBAzSOSMou1XZiABkuMACCAGkIj3gj0sIBqEWRgg4DcjIyOYARBADDAZqEo2Fqhp+kCKGYjzWICcFiCjGiSxJd6ZkQnG2ZrgwgA05z9AADHCXIIOgDrfAKmnMDNZgdQvqNxxIN4GNE4E7gUkSRCwBOJmkPEgDk4roAoaAQIIxR9ofmoBa8YheQZKdzEhudoEiGF8ZiC7BkhXgt0A5DwEcuSgkjVAH7TC3QI0BhSq/9DceAaoyBTmzXdYPGEC8yYooPYDcSAseNG9ijccgIARIMBwKsAFgB7yA1K9QPwIiL2YSNB4GMrUBYUI0JPOIENQXABUZASk1gGxPFToGhD7AxXfgcrzA6nzQL4S3CswA4CSoERwjIBD5gA1pyILwDJEAxGaQSAFFHhA9WIoBoBil5SABEbXS+R4BAFJIJ4NxL5IhmLEK5aobMCZnHFhUE4G4gYYHwDPLOYOtutwuwAAAABJRU5ErkJggg==","views":[],"inPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":true,"name":"Table","description":"Optional data table containing the variable parameters of the requests."}],"outPorts":[{"objectClass":"org.knime.core.node.BufferedDataTable","color":"000000","dataType":"Table","optional":false,"name":"GET results","description":"Data table containing columns from the responses."}],"dynInPorts":[{"groupName":"Credential","groupDescription":"A Credential, that can be embedded into the HTTP Authorization header. If this port is added, then all request done by the node will always use the Credential from the port, regardless of other node settings. The OAuth2 Authenticator nodes provide such a Credential for example.","types":[{"objectClass":"org.knime.credentials.base.CredentialPortObject","color":"4386f7","dataType":"org.knime.credentials.base.CredentialPortObject"}]}],"dynOutPorts":[],"additionalSiteInformation":{"url":"https://update.knime.com/analytics-platform/5.12","trusted":true,"enabledByDefault":true,"name":"KNIME Analytics Platform 5.12 Update Site","version":"5.12.0"},"dialog":[{"sectionName":"Options","fields":[{"name":"Request URL","description":"Select a constant URL or a column from the input table that contains the URLs that you want to request.","optional":false},{"name":"URL","description":"The URL for the GET request.","optional":false},{"name":"URL column","description":"Column containing the URLs for the requests.","optional":false},{"name":"Authentication type","description":"The type of the used authentication.\n<ul><li><b>None</b> : No authentication is required.</li><li><b>Basic auth</b> : Authentication with username and password.</li><li><b>Bearer token</b> : Authentication with a bearer token.</li><li><b>Digest auth</b> : Authentication with username and password using digest authentication.</li><li><b>NTLM</b> : Authentication with username and password using NTLM authentication.</li><li><b>Kerberos</b> : Kerberos ticket based authentication</li></ul>","optional":false},{"name":"Credentials type","description":"The type of credentials used for authentication.\n<ul><li><b>Manual</b> : Use manual credential input.</li><li><b>Variable</b> : Use a credentials flow variable.</li></ul>","optional":false},{"name":"Credentials variable","description":"The flow variable containing the credentials which are used for authentication.","optional":false},{"name":"Credentials","description":"The credentials used for the authentication.","optional":false},{"name":"Token","description":"The bearer token used for authorization.","optional":false},{"name":"Domain","description":"The Windows domain used for NTLM authentication.","optional":false},{"name":"Concurrency","description":"Number of concurrent requests.","optional":false},{"name":"Enable delay","description":"Enable delay between consecutive requests to avoid overloading the web service.","optional":false},{"name":"Delay (ms)","description":"Delay between two consecutive requests in milliseconds.","optional":false},{"name":"Request headers","description":"Define custom request headers. Each header consists of a key, value, and kind specification.\n<ul><li><b>Header key</b> : The HTTP header key, e.g. <tt>Accept</tt> or <tt>X-Custom-Key</tt> . Note that some header keys such as <tt>Origin</tt> are silently ignored by default for security reasons. You can configure KNIME AP to allow any header key by setting the <tt>sun.net.http.allowRestrictedHeaders</tt> system property in the <i>knime.ini</i> configuration file to <tt>true</tt> .</li><li><b>Type</b> : The type of the value specified.\n  <ul><li><b>Constant</b> : Use a constant value.</li><li><b>Flow variable</b> : Use the value of a flow variable.</li><li><b>Column</b> : Use the value of a column in the current row.</li><li><b>Username</b> : Use the name of a stored credential.</li><li><b>Password</b> : Use the password of a stored credential.</li></ul></li><li><b>Value</b> : The value for the header which can be a constant value or a reference to a flow variable, a column, a credential name, or a credential password (see the kind option).</li></ul>","optional":false},{"name":"Missing header value handling","description":"How to handle missing header input values.\n<ul><li><b>Fail</b> : The node fails if any of the specified headers are missing in the response.</li><li><b>Skip</b> : The node skips the row if any of the specified headers are missing in the response.</li></ul>","optional":false},{"name":"Handling of invalid URLs","description":"Specifies how invalid URLs are handled. For REST client nodes, all URLs conforming to <a href=\"https://www.rfc-editor.org/rfc/rfc1738\" rel=\"ugc nofollow noopener noreferrer\">RFC 1738</a> and using the HTTP or HTTPS protocol are considered valid.\n<ul><li><b>Insert missing value</b> : The node inserts a missing value in the output table for the corresponding request.</li><li><b>Fail node</b> : The node execution fails.</li><li><b>Remove row</b> : The node removes the row for the corresponding request.</li></ul>","optional":false},{"name":"Fail on connection problems (e.g. timeout, certificate errors, …)","description":"This option describes what should happen if there was a problem establishing the connection to the server. The node either fails in execution or outputs a missing value in the row of the output table.\n<ul><li><b>Insert missing value</b> : The node inserts a missing value in the output table for the corresponding request.</li><li><b>Fail node</b> : The node execution fails.</li></ul>","optional":false},{"name":"Client-side errors (HTTP 4XX)","description":"This option describes what should happen if a response with a 4XX status code is received. These status codes usually describe client-side errors such as malformed requests.\n<ul><li><b>Insert missing value</b> : The node inserts a missing value in the output table for the corresponding request.</li><li><b>Fail node</b> : The node execution fails.</li></ul>","optional":false},{"name":"Rate-limiting error handling (HTTP 429)","description":"Decide how to proceed when receiving rate limiting errors (HTTP 429).\n<ul><li><b>Fail node</b> : The node execution fails.</li><li><b>Fixed delay</b> : Pauses execution for a fixed delay before retrying the request.</li></ul>","optional":false},{"name":"Rate limiting cooldown (s)","description":"The cooldown delay in seconds to wait when receiving rate limiting errors (HTTP 429).","optional":false},{"name":"Server-side errors (HTTP 5XX)","description":"This option describes what should happen if a response with a 5XX status code is received. These status codes usually describe errors on the server side.\n<ul><li><b>Insert missing value</b> : The node inserts a missing value in the output table for the corresponding request.</li><li><b>Fail node</b> : The node execution fails.</li></ul>","optional":false},{"name":"Retry on server errors","description":"Enable automatic retries for server-side errors (HTTP 5XX).","optional":false},{"name":"Number of retries","description":"Number of additional attempts that will be made after the initial request has failed.","optional":false},{"name":"Retry delay (s)","description":"The base delay to be applied between retry attempts in seconds. The actual delay increases exponentially with each retry attempt.","optional":false},{"name":"Extracted request headers","description":"Extracts the defined headers in the first response into columns.\n<ul><li><b>Custom</b> : Extract only the custom defined headers into output columns.</li><li><b>All</b> : Extract all response headers into output columns.</li></ul>","optional":false},{"name":"Response headers","description":"Define which response headers to extract into output columns.\n<ul><li><b>Header key</b> : The name of the header to extract.</li><li><b>Column name</b> : The name of the output column.</li><li><b>Header type</b> : The KNIME data type the header should be converted into.</li></ul>","optional":false},{"name":"Body column name","description":"Name of the response body column in the output table.","optional":false},{"name":"Output additional column with error cause","description":"If enabled, each output row corresponding to a request will contain an additional cell that, in case the request has failed, will provide a description of the error cause.","optional":false},{"name":"Follow redirects","description":"If checked, the node will follow redirects (HTTP status code 3xx).","optional":false},{"name":"Connect timeout (s)","description":"The connection timeout is the timeout in making the initial connection. In case of HTTPS, this includes completing the SSL handshake. This timeout is set in seconds.","optional":false},{"name":"Read timeout (s)","description":"The read timeout is the time to wait until the first byte of data is read. Increasing this timeout makes sense if you have a slow connection or you expect the server will take a long time to prepare your response. This timeout is set in seconds.","optional":false},{"name":"Send large data in chunks","description":"Specifies whether HTTP Chunked Transfer Encoding is allowed to be used by the node. If enabled, messages with a large body size are being sent to the server in a series of chunks.","optional":false},{"name":"Proxy mode","description":"Specifies how the proxy should be configured.\n<ul><li><b>Use KNIME-wide proxy settings</b> : Uses the same proxy as the KNIME platform. In the KNIME Analytics Platform, this can be changed under <tt>File &gt; Preferences &gt; General &gt; Network Connections</tt> .</li><li><b>Use node-specific proxy settings</b> : This option enables the configuration fields in the &#34;Proxy&#34; section.</li><li><b>Direct connection</b> : This option disables the proxy for this POST node. This will bypass KNIME-wide proxies as well.</li></ul>","optional":false},{"name":"Proxy protocol","description":"This option describes the proxy protocol to use. HTTP, HTTPS and SOCKS can be selected.","optional":false},{"name":"Proxy host","description":"Specifies the proxy host address.","optional":false},{"name":"Proxy port","description":"Specifies the port that should be used at the proxy host.","optional":false},{"name":"Use proxy authentication","description":"Enable if the proxy requires authentication.","optional":false},{"name":"Credentials type","description":"The type of credentials used for proxy authentication.\n<ul><li><b>Manual</b> : Use manual credential input.</li><li><b>Variable</b> : Use a credentials flow variable.</li></ul>","optional":false},{"name":"Credentials variable","description":"The flow variable containing the credentials which are used for proxy authentication.","optional":false},{"name":"Credentials","description":"The user name and password for proxy authentication.","optional":false},{"name":"Exclude hosts from proxy","description":"Enable to specify hosts that will be ignored by the proxy. Requests to excluded hosts will use a direct connection.","optional":false},{"name":"Selected hosts","description":"List of hosts that should be ignored by the proxy.\n<ul><li><b>Excluded host</b> : Host that should be ignored by the proxy.</li></ul>","optional":false},{"name":"Ignore hostname mismatches","description":"If checked, the node trusts the server&#39;s SSL certificate even if it was generated for a different host.","optional":false},{"name":"Trust all certificates","description":"If checked, the node trusts all certificates regardless of their origin or expiration date.","optional":false}]}],"links":[{"text":"KNIME E-Learning Course (see \"REST Request\" section)","url":"https://www.knime.com/learning"}],"kudos":[{"accountId":"account:user:bef90f66-4e06-4bc0-8b69-85d16eb8bf9e","user":"slwconsulting","date":"2024-02-02T08:20:40+00:00"}],"kudosCount":1,"bundleInformation":{"bundleVersion":"5.12.0.v202605041104","bundleName":"KNIME REST Client Nodes","bundleSymbolicName":"org.knime.rest","bundleVendor":"KNIME AG, Zurich, Switzerland","featureSymbolicName":"org.knime.features.rest","featureName":"KNIME REST Client Extension","featureVersion":"5.12.0.v202605041104","featureVendor":"KNIME AG, Zurich, Switzerland","extensionId":"*cOMrc4de8vXU_OZs"},"frequentSuccessors":[{"id":"*3IccdLfpFEAp9yoz","factoryName":"org.knime.json.node.jsonpath.multi.JSONPathNodeFactory","probability":0.18796992481203006},{"id":"*2xUDt4Z24aku4wiS","factoryName":"org.knime.json.node.totable.JSONToTableNodeFactory","probability":0.1439312567132116},{"id":"*dTIN1LNlL6w1s7MX","factoryName":"org.knime.xml.node.xpath2.XPathNodeFactory","probability":0.10633727175080558},{"id":"*DOkyMaii62U05xZ1","factoryName":"org.knime.base.node.preproc.filter.column.DataColumnSpecFilterNodeFactory","probability":0.04189044038668099},{"id":"*AApA5VHd41CVDe7u","factoryName":"org.knime.base.node.meta.looper.LoopEndNodeFactory","probability":0.0322234156820623},{"id":"*0v93iQ8V50L_6LVf","factoryName":"org.knime.json.node.fromstring.StringToJSONNodeFactory","probability":0.02900107411385607},{"id":"*Ez6XD4p5nN1wh_Lm","factoryName":"org.knime.xml.node.stringtoxml.StringToXMLNodeFactory","probability":0.02040816326530612},{"id":"*eOn8ibZnxIkY7XhT","factoryName":"org.knime.base.node.preproc.stringmanipulation.StringManipulationNodeFactory","probability":0.02040816326530612},{"id":"*AB2v7bC0nru1GHKf","factoryName":"org.knime.json.node.toxml.JSONToXMLNodeFactory","probability":0.018259935553168637},{"id":"*Oy714gpoifm4PiOZ","factoryName":"org.knime.base.node.io.csvwriter.CSVWriterNodeFactory","probability":0.018259935553168637}]}
