Curl 8 1 1
Author: m | 2025-04-24
curl(1) curl Manual curl(1) NAME curl - transfer a URL SYNOPSIS curl [options / URLs] curl(1) curl Manual curl(1) NAME curl - transfer a URL SYNOPSIS curl [options / URLs]
curl (1) - man.freebsd.org
Hi @bagderI am using curl with --http3-only option to download file from nginx server.From below curl man page and help page i came to know that using --http3 will allow to fall back ,--http3-only will not allow to fallback but seems to be with --http3-only also curl is falling back and using http1.1man curl:---http3-onlysion on its own. Use --http3 for similar functionality with a fallback.Instructs curl to use HTTP/3 to the host in the URL, with no fallback to earlier HTTP versions.This option will make curl fail if a QUIC connection cannot be established, it will not attempt any other HTTP version on its own --http3 Use --http3-only for similar functionality without a fallback.Tells curl to try HTTP/3 to the host in the URL, but fallback to earlier HTTP versions if the HTTP/3 connection establishment failscurl --help all :---http3 Use HTTP v3--http3-only Use HTTP v3 onlyroot@ubuntu:~# curl -# -v -k --http3-only -o index.html 127.0.0.1:443...Connected to 127.0.0.1 (127.0.0.1) port 443 (#0)ALPN: offers http/1.1} [5 bytes data]TLSv1.3 (OUT), TLS handshake, Client hello (1):} [512 bytes data]TLSv1.3 (IN), TLS handshake, Server hello (2):{ [88 bytes data]TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):} [1 bytes data]TLSv1.3 (OUT), TLS handshake, Client hello (1):} [512 bytes data]TLSv1.3 (IN), TLS handshake, Server hello (2):{ [155 bytes data]TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):{ [21 bytes data]TLSv1.3 (IN), TLS handshake, Certificate (11):{ [768 bytes data]TLSv1.3 (IN), TLS handshake, CERT verify (15):{ [264 bytes data]TLSv1.3 (IN), TLS handshake, Finished (20):{ [52 bytes data]TLSv1.3 (OUT), TLS handshake, Finished
8. Curl predicador con mancuerna a 1 mano
From [::1]:28688 -> 28688INFO[0011] starting tcp tunnel from source 4321 to target 4321">> ./ktunnel inject deployment pyremotedebug 4321INFO[0000] Debug level is set to infoINFO[0000] Injecting tunnel sidecar to default/pyremotedebugINFO[0000] Waiting for deployment to be readyINFO[0011] All pods located for port-forwardingINFO[0011] Waiting for port forward to finishINFO[0011] Forwarding from 127.0.0.1:28688 -> 28688Forwarding from [::1]:28688 -> 28688INFO[0011] starting tcp tunnel from source 4321 to target 4321Step 4 - Call the debug endpoint curl localhost:8000/debug">> curl localhost:8000/debugLooking at the container log you will see the following line:INFO:root:Connecting to remote debugger on 127.0.0.1:4321This means that the debugger is now connected to the runtimeStep 5 - Mind BlownNow, sending a request to the root endpoint will trigger the breakpoint in the IDE: curl -v localhost:8000/">> curl -v localhost:8000/We can change the value of r in the Evaluate Expression window to -1, and the result in our terminal: curl -v localhost:8000/* Trying 127.0.0.1...* TCP_NODELAY set* Connected to localhost (127.0.0.1) port 8000 (#0)> GET / HTTP/1.1> Host: localhost:8000> User-Agent: curl/7.54.0> Accept: */*>* HTTP 1.0, assume close after body> curl -v localhost:8000/* Trying 127.0.0.1...* TCP_NODELAY set* Connected to localhost (127.0.0.1) port 8000 (#0)> GET / HTTP/1.1> Host: localhost:8000> User-Agent: curl/7.54.0> Accept: */*>* HTTP 1.0, assume close after body HTTP/1.0 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 33 Server: Werkzeug/0.16.0 Python/3.7.6 Date: Wed, 25 Dec 2019 06:15:53 GMT* Closing connection 0Hello, Ktunnel! random number: -1Important CaveatsFor this to work with your Pycharm installation, the container needs to have a compatible 'pydevd-pycharm' version, in my case it's pydevd-pycharm~=191.7141.48If you plan on doing this on production services, know that setting breakpoints on production services is not recommended, do at your own risk!Curl RTE and Curl CDE 1 is released.
NoticeThe URL of the result image is valid for 1 hour. Please download the image file promptly.Supported ImagesFormatResolutionFile sizejpg, jpeg, bmp, png, webp, tiff, tif, bitmap, raw, rgb, jfif, lzwUp to 4096 x 4096Up to 15MBGet StartedSee differences between the 3 API call types #Create a task.curl -k ' \-H 'X-API-KEY: YOUR_API_KEY' \-F 'sync=0' \-F 'image_url=YOU_IMG_URL'#Get the cutout result#Polling requests using the following methods 1. The polling interval is set to 1 second, 2. The polling time does not exceed 30 secondscurl -k ' \-H 'X-API-KEY: YOUR_API_KEY' \php//Create a task$curl = curl_init();curl_setopt($curl, CURLOPT_URL, ' CURLOPT_HTTPHEADER, array( "X-API-KEY: YOUR_API_KEY", "Content-Type: multipart/form-data",));curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_POST, true);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($curl, CURLOPT_POSTFIELDS, array('sync' => 0, 'image_url' => "YOUR_IMG_URL"));$response = curl_exec($curl);$result = curl_errno($curl) ? curl_error($curl) : $response;curl_close($curl);$result = json_decode($result, true);if ( !isset($result["status"]) || $result["status"] != 200 ) { // request failed, log the details var_dump($result); die("post request failed");}// var_dump($result);$task_id = $result["data"]["task_id"];//get the task result// 1、"The polling interval is set to 1 second."//2 "The polling time is around 30 seconds."for ($i = 1; $i 30; $i++) { if ($i != 1) { sleep(1); } $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, " curl_setopt($curl, CURLOPT_HTTPHEADER, array( "X-API-KEY: YOUR_API_KEY", )); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); $response = curl_exec($curl); $result = curl_errno($curl) ? curl_error($curl) : $response; curl_close($curl); var_dump($result); $result = json_decode($result, true); if ( !isset($result["status"]) || $result["status"] != 200 ) { // Task exception, logging the error. //You can choose to continue the loop with 'continue' or break the loop with 'break' var_dump($result); continue; } if ( $result["data"]["state"] == 1 ) { // task success var_dump($result["data"]["image"]); break; } else if ( $result["data"]["state"] 0) { // request failed, log the details var_dump($result); break; } else { // Task processing if ($i == 30) { //Task processing, abnormal situation, seeking assistance from customer service of picwish } }}public static void main(String[] args) throws Exception { String taskId = createTask(); String result = pollingTaskResult(taskId, 0); System.out.println(result);}private static String createTask() throws Exception { OkHttpClient okHttpClient = new OkHttpClient.Builder().build(); RequestBody requestBody = new MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart("image_url", "IMAGE_HTTP_URL") .addFormDataPart("sync", "0") .build(); Request request = new Request.Builder() .url(" .addHeader("X-API-KEY", "YOUR_API_KEY") .post(requestBody) .build(); Response response = okHttpClient.newCall(request).execute(); JSONObject jsonObject = new JSONObject(response.body().string()); int status = jsonObject.optInt("status"); if (status != 200) { throw new Exception(jsonObject.optString("message")); } return jsonObject.getJSONObject("data").optString("task_id");}private static String pollingTaskResult(String taskId, int pollingTime) throws Exception { if (pollingTime >= 30) throw new IllegalStateException("Polling result timeout."); OkHttpClient okHttpClient = new OkHttpClient.Builder().build(); Request taskRequest = new Request.Builder() .url(" + taskId) .addHeader("X-API-KEY", "YOUR_API_KEY") .get() .build(); Response taskResponse = okHttpClient.newCall(taskRequest).execute(); JSONObject jsonObject = new JSONObject(taskResponse.body().string()); int state = jsonObject.getJSONObject("data").optInt("state"); if (state 0) { // Error. throw new Exception(jsonObject.optString("message")); } if (state == 1) { // Success and get result. return jsonObject.getJSONObject("data").toString(); } Thread.sleep(1000); return pollingTaskResult(taskId, ++pollingTime);}const request = require("request");const fs = require("fs");const path = require('path')const API_KEY = "YOUR_API_KEY";(async function main() { const taskId = await createTask() const result = await polling(() => getTaskResult(taskId)) console.log(`result: ${JSON.stringify(result, null, 2)}`)})()const polling = async (fn, delay = 1 * 1000, timeout = 30 * 1000) => { if (!fn) { throw new Error('fn is required') } try. curl(1) curl Manual curl(1) NAME curl - transfer a URL SYNOPSIS curl [options / URLs] curl(1) curl Manual curl(1) NAME curl - transfer a URL SYNOPSIS curl [options / URLs]curl/curl-container 8.1.2-1 on GitHub - NewReleases.io
Sending response to the web API method scriptExecutionTimeoutS (default: "50") - specifies CallXML script execution timeout, in seconds Other parameters into CallXML variables CURL example 1: curl -uadmin:admin --digest -X POST -d "@my_file.xml" -H "Content-Type: text/plain;charset=UTF-8" -H "Referer: CURL example 2: curl -uadmin:XYZ --digest -X POST --data-binary "@yyy.xml" -H "Content-Type:text/plain;charset=UTF-8" -H "Referer: content of the xml script file: SUBSCRIBE sip:[email protected]:5062 SIP/2.0Via: SIP/2.0/UDP x.x.x.x:5070;branch=z9hG4bK13054182From: blf_subscriber00001 ;tag=1641318497To: Call-ID: 0_2505407707_bogusCSeq: 1 SUBSCRIBEContact: Accept: application/reginfo+xmlMax-Forwards: 70User-Agent: Yealink SIP-T21P_E2 52.80.0.95Expires: 300Event: dialogContent-Length: 0]]> Example of calling web API in HTML using AJAX: Click-To-Call HTML button POST /API/MainViewModel/CreateCalls_Post - starts call generator specific to the API request, generates multiple outgoing calls using uploaded script. Returns Call-ID SIP header of the first created SIP call in JSON format: {'status': 'OK', 'sipCallId': 'the_new_call_id'}. URL query parameters are: maxCPS, intervalMs, intervalMsL, intervalMsH, maxConcurrentCalls, maxCallsToAttempt, callsPerTick. Other URL query parameters are passed into CallXML variables. The API method passes variable 'apiSequenceNumber' into the scripts, it means zero-based counter of executed scripts. CURL example: curl -uadmin:admin --digest -X POST -d "@my_file.xml" -H "Content-Type:text/plain;charset=UTF-8" GET /API/MainViewModel/CreateSingleCallCommand - creates an outgoing call using currently pre-configured script GET /API/MainViewModel/CurrentCallExists?callerId=XXX&calledId=YYY - checks existence of current call, returns 'true' or 'false' GET /API/MainViewModel/DestroyCall?[sipCallId=XXX][&calledId=YYYY][&calledIdSuffix=ZZZZ] - destroys current SIP call(s) with specified parameters: sipCallId - SIP Call-ID header of the destroyed call(s) calledId - CLD (B number) of the destroyed call(s) calledIdSuffix - CLD (B number) suffix of the destroyed call(s) - this parameter omits tech. prefix GET /DownloadRecordedFile?sipCallId=xxxx&fileId=mixed - downloads recorded WAV or PCAP file from a specific call Parameters: sipCallId - Call-ID header of the SIP call, used to identify the SIP call fileId (rx/tx/mixed) - type of recorded audio file. For audio wav files: "rx" - received RTP audio stream, "tx" - transmitted RTP audio stream, "mixed" - mix or received and transmitted RTP audioRotating Curling Iron, 1 1/4 Inch Automatic Curling Iron Self
目录 文章目录 目录 编译安装 YUM 升级 curl 常用选项 编译安装安装编译环境:yum -y groupinstall "Development Tools"yum -y install libev libev-devel zlib zlib-devel openssl openssl-devel git 1 2 安装 OpenSSL:mkdir /var/tmpcd /var/tmpwget -zxf openssl-1.0.2.tar.gzcd openssl-1.0.2mkdir /opt/openssl./config --prefix=/opt/opensslmakemake testmake install 1 2 3 4 5 6 7 8 9 10 安装 nghttp2:git clone nghttp2autoreconf -iautomakeautoconf./configuremakemake installecho '/usr/local/lib' > /etc/ld.so.conf.d/custom-libs.confldconfigldconfig -p| grep libnghttp2 1 2 3 4 5 6 7 8 9 10 11 安装 curl:cd /var/tmpgit clone curl./buildconf./configure --with-ssl=/opt/openssl --with-nghttp2=/usr/local --disable-file --without-pic --disable-sharedmake 1 2 3 4 5 6 验证:$ /var/tmp/curl/src/curl --versioncurl 7.70.0-DEV (x86_64-unknown-linux-gnu) libcurl/7.70.0-DEV OpenSSL/1.0.2o nghttp2/1.41.0-DEVRelease-Date: [unreleased]Protocols: dict ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftpFeatures: AsynchDNS HTTP2 HTTPS-proxy IPv6 Largefile NTLM NTLM_WB SSL TLS-SRP UnixSockets 1 2 3 4 5 注意:curl 从 7.52.0 版本开始也已经支持 TLS 1.3 了,curl 7.61.0 及以上在 TLS 握手过程中协商 TLS 版本时,curl 默认使用 TLS 1.3,但也取决于 curl 正在使用的 TLS 库及其版本,例如:要求 OpenSSL 1.1.1 版本以上。YUM 升级安装新版 libcurl 的 yum 源:rpm -ivh 1 升级:yum upgrade libcurl 1 升级完成后可以卸载此 yum 源:rpm -e city-fan.org-release 1 curl 常用选项语法格式: curl [options] [URL...]常用选项如下所示: -A/--user-agent : 设置用户代理发送给服务器 -e/--referer : 来源网址 --cacert : CA 证书(SSL) -k/--insecure: 允许忽略证书进行 SSL 连接 --compressed: 要求返回是压缩的格式 -H/--header : 自定义首部信息传递给服务器 -i: 显示页面内容,包括报文首部信息 -I/--head: 只显示响应报文首部信息 -D/--dump-header : 将 URL 的 header 信息存放在指定文件中 --basic: 使用 HTTP 基本认证 -u/--user : 设置服务器的用户和密码 -L: 如果有 3xx 响应码,重新发请求到新位置 -O: 使用 URL 中默认的文件名保存文件到本地 -o : 将网络文件保存为指定的文件中 --limit-rate : 设置传输速度 -0/--http1.0: 数字 0,使用 HTTP 1.0 -v/--verbose: 更详细 -C: 选项可对文件使用断点续传功能 -c/--cookie-jar : 将 URL 中 Cookie 存放在指定文件中 -x/--proxy : 指定代理服务器地址 -X/--request : 向服务器发送指定请求方法 -U/--proxy-user : 代理服务器用户和密码 -T: 选项可将指定的本地文件上传到 FTP 服务器上 --data/-d: 方式指定使用 POST 方式传递数据 -b name=data: 从服务器响应 set-cookie 得到值,返回给服务器 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 文章来源: is-cloud.blog.csdn.net,作者:范桂飓,版权归原作者所有,如需转载,请联系作者。原文链接:is-cloud.blog.csdn.net/article/details/105695093 【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: [email protected]curl(1) - Arch manual pages
CURL is an extremely powerful command line tool used to transfer data with URL syntax. Known for its versatility, flexibility and ubiquity, curl allows you to quickly interact with web servers, APIs, and services from the comfort of your terminal.While most Linux distributions ship with a version of curl pre-installed, it is often dated and lacks recently added capabilities. As a data scientist and infrastructure engineer with over 10 years of experience building and deploying analytical pipelines, I highly recommend compiling the latest curl from source. Doing so provides you access to new features, security enhancements, performance improvements and support for cutting-edge protocols that can supercharge your data projects.In this comprehensive, 2845+ word guide, you‘ll learn how to build the most up-to-date curl from source code on both CentOS/RHEL and Ubuntu systems. I provide unique expert insights optimized specifically for data analytics use cases across the entire installation process.Why Compile the Latest curl for Data Tasks?Here are some key reasons why installing curl from source is advantageous for data tasks:Faster Data Transfer : New protocols like HTTP/3, FTP3 provide upto 2x speed improvements for moving datasets across endpoints.Accelerated Model Serving: HTTP/3‘s QUIC transport minimizes latency between API and ML model servers via connection migration.Reproducible Pipelines: Version pinning and lockfiles prevent unplanned breakages across vast data ecosystems. Enhanced Debugging : Gain visibility into all network events when transferring petabyte-scale data.Reduced Downtime: Regular updates close security loopholes that may interrupt analytical workflows.Granular Control: Fine-tune and customize curl to best suit your specific data infrastructure needs.Clearly, having full control over the curl build process enables availing new capabilities to supercharge your AI/analytics pipelines through maximized speed, security and reproducibility.Prerequisites for Optimized Data ProcessingWe‘ll be building the latest curl 7.67.0 released on Jan 15, 2020 at the time of writing. For optimized data processing ensure your system meets these requirements:CentOS/RHELUse the latest CentOS 8.x/RHEL 8.x distribution:$ uname -r4.18.0-305.el8.x86_64GCC 10+ compiler: Enables advanced optimizations Fast NVMe storage: Speeds up build I/O 8 GB RAM: Cater to high memory buildsMulti-core CPU: Leverage parallelismUbuntuUbuntu 22.04 LTS or later:$ uname -r 5.15.0-52-genericSimilar fast storage, ample RAM and multi-core resources recommended.Now let‘s get building!Step 1 – Download Using Fastest MirrorAlways download source tarballs from the fastest available mirror near you leveraging utilities like netselect-apt for accelerated transfers:$ netselect-apt get the archive:$ wget -c $(netselect-apt checksums match for integrity assurance. Corrupted downloads can severely impact build reproducibility.Step 2 – Extract. curl(1) curl Manual curl(1) NAME curl - transfer a URL SYNOPSIS curl [options / URLs] curl(1) curl Manual curl(1) NAME curl - transfer a URL SYNOPSIS curl [options / URLs]Comments
Hi @bagderI am using curl with --http3-only option to download file from nginx server.From below curl man page and help page i came to know that using --http3 will allow to fall back ,--http3-only will not allow to fallback but seems to be with --http3-only also curl is falling back and using http1.1man curl:---http3-onlysion on its own. Use --http3 for similar functionality with a fallback.Instructs curl to use HTTP/3 to the host in the URL, with no fallback to earlier HTTP versions.This option will make curl fail if a QUIC connection cannot be established, it will not attempt any other HTTP version on its own --http3 Use --http3-only for similar functionality without a fallback.Tells curl to try HTTP/3 to the host in the URL, but fallback to earlier HTTP versions if the HTTP/3 connection establishment failscurl --help all :---http3 Use HTTP v3--http3-only Use HTTP v3 onlyroot@ubuntu:~# curl -# -v -k --http3-only -o index.html 127.0.0.1:443...Connected to 127.0.0.1 (127.0.0.1) port 443 (#0)ALPN: offers http/1.1} [5 bytes data]TLSv1.3 (OUT), TLS handshake, Client hello (1):} [512 bytes data]TLSv1.3 (IN), TLS handshake, Server hello (2):{ [88 bytes data]TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):} [1 bytes data]TLSv1.3 (OUT), TLS handshake, Client hello (1):} [512 bytes data]TLSv1.3 (IN), TLS handshake, Server hello (2):{ [155 bytes data]TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):{ [21 bytes data]TLSv1.3 (IN), TLS handshake, Certificate (11):{ [768 bytes data]TLSv1.3 (IN), TLS handshake, CERT verify (15):{ [264 bytes data]TLSv1.3 (IN), TLS handshake, Finished (20):{ [52 bytes data]TLSv1.3 (OUT), TLS handshake, Finished
2025-04-24From [::1]:28688 -> 28688INFO[0011] starting tcp tunnel from source 4321 to target 4321">> ./ktunnel inject deployment pyremotedebug 4321INFO[0000] Debug level is set to infoINFO[0000] Injecting tunnel sidecar to default/pyremotedebugINFO[0000] Waiting for deployment to be readyINFO[0011] All pods located for port-forwardingINFO[0011] Waiting for port forward to finishINFO[0011] Forwarding from 127.0.0.1:28688 -> 28688Forwarding from [::1]:28688 -> 28688INFO[0011] starting tcp tunnel from source 4321 to target 4321Step 4 - Call the debug endpoint curl localhost:8000/debug">> curl localhost:8000/debugLooking at the container log you will see the following line:INFO:root:Connecting to remote debugger on 127.0.0.1:4321This means that the debugger is now connected to the runtimeStep 5 - Mind BlownNow, sending a request to the root endpoint will trigger the breakpoint in the IDE: curl -v localhost:8000/">> curl -v localhost:8000/We can change the value of r in the Evaluate Expression window to -1, and the result in our terminal: curl -v localhost:8000/* Trying 127.0.0.1...* TCP_NODELAY set* Connected to localhost (127.0.0.1) port 8000 (#0)> GET / HTTP/1.1> Host: localhost:8000> User-Agent: curl/7.54.0> Accept: */*>* HTTP 1.0, assume close after body> curl -v localhost:8000/* Trying 127.0.0.1...* TCP_NODELAY set* Connected to localhost (127.0.0.1) port 8000 (#0)> GET / HTTP/1.1> Host: localhost:8000> User-Agent: curl/7.54.0> Accept: */*>* HTTP 1.0, assume close after body HTTP/1.0 200 OK Content-Type: text/html; charset=utf-8 Content-Length: 33 Server: Werkzeug/0.16.0 Python/3.7.6 Date: Wed, 25 Dec 2019 06:15:53 GMT* Closing connection 0Hello, Ktunnel! random number: -1Important CaveatsFor this to work with your Pycharm installation, the container needs to have a compatible 'pydevd-pycharm' version, in my case it's pydevd-pycharm~=191.7141.48If you plan on doing this on production services, know that setting breakpoints on production services is not recommended, do at your own risk!
2025-04-23Sending response to the web API method scriptExecutionTimeoutS (default: "50") - specifies CallXML script execution timeout, in seconds Other parameters into CallXML variables CURL example 1: curl -uadmin:admin --digest -X POST -d "@my_file.xml" -H "Content-Type: text/plain;charset=UTF-8" -H "Referer: CURL example 2: curl -uadmin:XYZ --digest -X POST --data-binary "@yyy.xml" -H "Content-Type:text/plain;charset=UTF-8" -H "Referer: content of the xml script file: SUBSCRIBE sip:[email protected]:5062 SIP/2.0Via: SIP/2.0/UDP x.x.x.x:5070;branch=z9hG4bK13054182From: blf_subscriber00001 ;tag=1641318497To: Call-ID: 0_2505407707_bogusCSeq: 1 SUBSCRIBEContact: Accept: application/reginfo+xmlMax-Forwards: 70User-Agent: Yealink SIP-T21P_E2 52.80.0.95Expires: 300Event: dialogContent-Length: 0]]> Example of calling web API in HTML using AJAX: Click-To-Call HTML button POST /API/MainViewModel/CreateCalls_Post - starts call generator specific to the API request, generates multiple outgoing calls using uploaded script. Returns Call-ID SIP header of the first created SIP call in JSON format: {'status': 'OK', 'sipCallId': 'the_new_call_id'}. URL query parameters are: maxCPS, intervalMs, intervalMsL, intervalMsH, maxConcurrentCalls, maxCallsToAttempt, callsPerTick. Other URL query parameters are passed into CallXML variables. The API method passes variable 'apiSequenceNumber' into the scripts, it means zero-based counter of executed scripts. CURL example: curl -uadmin:admin --digest -X POST -d "@my_file.xml" -H "Content-Type:text/plain;charset=UTF-8" GET /API/MainViewModel/CreateSingleCallCommand - creates an outgoing call using currently pre-configured script GET /API/MainViewModel/CurrentCallExists?callerId=XXX&calledId=YYY - checks existence of current call, returns 'true' or 'false' GET /API/MainViewModel/DestroyCall?[sipCallId=XXX][&calledId=YYYY][&calledIdSuffix=ZZZZ] - destroys current SIP call(s) with specified parameters: sipCallId - SIP Call-ID header of the destroyed call(s) calledId - CLD (B number) of the destroyed call(s) calledIdSuffix - CLD (B number) suffix of the destroyed call(s) - this parameter omits tech. prefix GET /DownloadRecordedFile?sipCallId=xxxx&fileId=mixed - downloads recorded WAV or PCAP file from a specific call Parameters: sipCallId - Call-ID header of the SIP call, used to identify the SIP call fileId (rx/tx/mixed) - type of recorded audio file. For audio wav files: "rx" - received RTP audio stream, "tx" - transmitted RTP audio stream, "mixed" - mix or received and transmitted RTP audio
2025-03-26