Download curl 7 88 1
Author: A | 2025-04-25
7. 88. 1-10 deb12u9: [.dsc, use dget on this link to retrieve source package] [ ] curl 8.12.0git .89ed161ds-1 MIGRATED to testing
ARCHIVE: tar.xz: curl-7.73.0.tar.xz DOWNLOAD: curl-7.
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 I have a file that has all the urls from which I need to download. However I need to limit one download at a time.i.e. the next download should begin only once previous one is finished.Is this possible using curl? Or should I use anything else. Stephane6,4723 gold badges28 silver badges48 bronze badges asked Sep 20, 2013 at 7:17 1 xargs -n 1 curl -O answered Sep 16, 2015 at 22:48 GrumdrigGrumdrig4915 silver badges10 bronze badges 3 wget(1) works sequentally by default, and has this option built in: -i file --input-file=file Read URLs from a local or external file. If - is specified as file, URLs are read from the standard input. (Use ./- to read from a file literally named -.) If this function is used, no URLs need be present on the command line. If there are URLs both on the command line and in an input file, those on the command lines will be the first ones to be retrieved. If --force-html is not specified, then file should consist of a series of URLs, one per line. However, if you specify --force-html, the document will be regarded as html. In that case you may have problems with relative links, which you can solve either by adding "" to the documents or by specifying --base=url on the command line. If the file is an external one, the document will be automatically treated as html if the Content-Type matches text/html. Furthermore, the file's location will be implicitly used as base href if none was specified. answered Sep 20, 2013 at 8:40 dawuddawud15.5k4 gold badges44 silver badges62 bronze badges 1 This is possible using curl within a shell script, something like this but you'll need to research appropriate options for curl etc for yourselfwhile read URL curl some options $URL if required check exit status take appropriate actiondone answered Sep 20, 2013 at 7:26 user9517user9517117k20 gold badges222 silver badges306 bronze badges 3 Based on @iain answer, but using proper shell scripting -while read url; do echo "== $url ==" curl -sL -O "$url"done Will also work with weird characters likeCurl RTE and Curl CDE 1 is released.
Versions. (eg: Debian 11 curl is 7.74.0-1.3+deb11u2, bullseye-backports has 7.85.0-1~bpo11+1 at this time.) Exactly what i meant with unstable/testing branch cause in the end that's what backports is (at least, that's what I understood).This whole decision is pretty strange, updates for Curl aren't rolled out for nothing (look at the vulnerability list) so I wonder if this isn't going to result into security issues. #12 So how we can update to a safe Curl version now?especially on centos 7 which uses : 7.29.0 #13 So how we can update to a safe Curl version now?especially on centos 7 which uses : 7.29.0 You can't unless you are comfortable with compiling your own to the correct directories..... #14 Removing cURL from CB is a poor action by DirectAdmin. My VPS has dozens of scripts looking for the "updated" version of cURL in /usr/local/bin which no longer exists. So, we can point to cURL version 7.29.0. That is way old!! DirectAdmin intends to drop custom installation of cURL in favor of using the version installed from OS repository. The update message this morning (for root) seems to verify this:cURL 7.85.0 to OS update is available.However, the previous version of cURL (7.85.0) in /usr/local/bin/ is now GONE!Any suggestions on how to accomplish "... using the version installed from OS repository" ? Last edited: Nov 28, 2022 #15 ./build update_versions should do the things. #16 Ah, I think this a problem for my customers too. Running 7.29.0 now, but their functions aren't running anymore.Is not giving an update for cURL. #17 Is not giving an update for cURL. A switch to an OS version is expected by running the command. #18 Is not listing anything like cURL, it is a CentOS 7 server. #19 Another vote to keep cURL as it was. IMO it falls in the same category as apache.The OS supplied cURL version is too far behind feature wise. There are new features all the time. #20 Another vote to keep cURL as it was. IMO it falls in the same category as apache.The OS supplied cURL version is too far behind feature wise.There are new features all the time. Working installations are broken now by this decision :-(. 7. 88. 1-10 deb12u9: [.dsc, use dget on this link to retrieve source package] [ ] curl 8.12.0git .89ed161ds-1 MIGRATED to testing 7. 88. 1-10 deb12u9: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control] 8. 12. [ ] Accepted curl 7.74.0-1.3deb11u13 (source) into oldstable-proposed-updates (Debian FTPcurl (1) - man.freebsd.org
Location: HTTP/1.1 202 Created> Location: -F license=@/path/to/github-enterprise.ghl -F "password=your-amazing-password" -F settings=</path/to/settings.json">$ curl -L -X POST ' -F license=@/path/to/github-enterprise.ghl -F "password=your-amazing-password" -F settings=</path/to/settings.jsonUpgrade a licenseThis API upgrades your license and also triggers the configuration process:ParametersNameTypeDescriptionlicensestringThe content of your new .ghl license file.Response HTTP/1.1 202 Accepted> Location: HTTP/1.1 202 Accepted> Location: curl -L -X POST ' configuration statusThis endpoint allows you to check the status of the most recent configuration process:GET /setup/api/configcheckNote that you may need to wait several seconds after you start a process before you cancheck its status.ResponseThe different statuses are:StatusDescriptionPENDINGThe job has not started yetCONFIGURINGThe job is runningDONEThe job has finished correctlyFAILEDThe job has finished unexpectedlyExampleyour-amazing-password@hostname:admin_port/setup/api/configcheck'">$ curl -L ' a configuration processThis endpoint allows you to start a configuration process at any time for your updated settings to take effect:POST /setup/api/configureResponse HTTP/1.1 202 Accepted> Location: HTTP/1.1 202 Accepted> Location: curl -L -X POST ' settingsResponseExampleyour-amazing-password@hostname:admin_port/setup/api/settings'">$ curl -L ' settingsParametersNameTypeDescriptionsettingsstringRequired. A JSON string with the new settings.Response HTTP/1.1 204 No Content">> HTTP/1.1 204 No ContentExampleyour-amazing-password@hostname:admin_port/setup/api/settings' --data-urlencode "settings=`cat /path/to/settings.json`"">$ curl -L -X PUT ' --data-urlencode "settings=`cat /path/to/settings.json`"Check maintenance statusCheck your installation's maintenance status:GET /setup/api/maintenanceResponseExampleyour-amazing-password@hostname:admin_port/setup/api/maintenance'">$ curl -L ' or disable maintenance modePOST /setup/api/maintenanceParametersNameTypeDescriptionmaintenancestringRequired. A JSON string with the attributes enabled and when.The possible values for enabled are true and false. When it's false,the attribute when is ignored and the maintenance mode is turned off. when defines the time period when the maintenance was enabled.The possible values for when are now or any date parseable bymojombo/chronic.ResponseExampleyour-amazing-password@hostname:admin_port/setup/api/maintenance' -d 'maintenance={"enabled":true, "when":"now"}'">$ curl -L -X POST ' -d 'maintenance={"enabled":true, "when":"now"}'Retrieve authorized SSH keysGET /setup/api/settings/authorized-keysResponseExampleyour-amazing-password@hostname:admin_port/setup/api/settings/authorized-keys'">$ curl -L ' a new authorized SSH keyPOST /setup/api/settings/authorized-keysParametersNameTypeDescriptionauthorized_keystringRequired. The path to the public SSH key.Response "ssh-rsa AAAAB3NzaC1yc2EAAAAB...", "pretty-print" => "ssh-rsa 01:14:0f:f2:0f:e2:fe:e8:f4:72:62:af:75:f7:1a:88:3e:04:92:64"}); h }%>Exampleyour-amazing-password@hostname:admin_port/setup/api/settings/authorized-keys' -F authorized_key=@/path/to/key.pub">$ curl -L -X POST ' -F authorized_key=@/path/to/key.pubRemove an authorized SSH keyDELETE /setup/api/settings/authorized-keysParametersNameTypeDescriptionauthorized_keystringRequired. The path to the 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') } trycurl/curl-container 8.1.2-1 on GitHub - NewReleases.io
$sid) { $path = array( 'sid' => $value->sid, 'dnis' => $value->dnis, 'trans_num' => $value->number_connected, 'format' => $format ); $this->fh = @fopen($this->format($path), 'w'); $this->__request($this->fh); } } } else { if (isset($all) && !isset($sid)) { foreach ($recordings->data->recording as $value) { $this->option['sid'] = (string)$value->sid; $path = array( 'sid' => $value->sid, 'dnis' => $value->dnis, 'trans_num' => $value->number_connected, 'format' => $format ); $this->fh = @fopen($this->format($path), 'w'); $this->__request($this->fh); } } } } } /** * * Format the files to to download * * @param array $format */ public function format(array $format) { $path = '/path/to/download/directory'; $path .= $format['sid']; $path .= "-" . $format['dnis']; $path .= "-" . $format['trans_num']; $path .= "." . $format['format']; return $path; } /** * * Remove a recording from an account. The $now param * can be set to 1 to delete a file immediately. If the * file is not set to delete immediately Ifbyphone will * delete the file in xx days. * * @param string $sid * @param int $now */ public function remove($sid, $now = null) { $this->option['sid'] = $sid; $this->option['action'] = 'recording.remove'; if (isset($now) && $now != 1) { throw new Exception('The value for now must be 1'); } elseif (isset($now) && $now == 1) { $this->option['delete_now'] = $now; } $this->__request(); } /** * * Set options for for cURL request. Both a timeout and a sleep * time of 30 seconds have been added as an example of best practice * * @param resource $fh */ public function __request($fh = null) { curl_setopt($this->curl, CURLOPT_URL, $this->url()); curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($this->curl, CURLOPT_TIMEOUT, 120); if (isset($this->fh)) { curl_setopt($this->curl, CURLOPT_FILE, $this->fh); } $result = curl_exec($this->curl); sleep(30); return $result; } /** * * Parses the XML response returned from Ifbyphone for a result * of 'failure'. This can augmented to log results or initiate * actions based on the outcome of any give API call. * * @param string $result */ public function parseResult($result) { $xml = new SimpleXMLElement($result); foreach ($xml->result as $v) { if ($xml->result == "failed") { //Log something } else { //Log something } } } /** * * Get HTTP query for web request */ public function getQuery() { $query = http_build_query($this->option); return $query; } /** * * Set URL of web request */ public function url() { $url = self::IBP_BASE . $this->getQuery(); return $url; } /** * * Ensure that both the file handle and cURL session * are both closed if they are set when the object is destroyed. */ public function __destruct() { @fclose($this->fh); @curl_close($this->curl); } }SDDR-88 8 in 1
#2 DirectAdmin intends to drop custom installation of cURL in favor of using the version installed from OS repository. #3 That s*cks...Well, now solved it by changing the download URL in build; CURL_DOWNLOADURL="${WEBPATH}/curl-${CURL_VER}.tar.gz" into CURL_DOWNLOADURL=" That did it's job, still got it installed faster compared to the distro. Last edited: Nov 22, 2022 #4 Be prepared that it’s possible that doesn’t work anymore in newer DA/CB versions #5 Be prepared that it’s possible that doesn’t work anymore in newer DA/CB versions Yea... was already affraid of that.. Sucks because with some distro's (like Debian) it sometimes takes ages before a new update are taken into their repo's unless your using and satisfied with the unstable/testing branch. Besides that, I'm also wondering how secure it will remain. The past updates of Curl contained quite some security fixes to solve some vulnerabilities which isn't for nothing, so it's strange to see some people (here and there) say the OS version is good/safe enough. Last edited: Nov 22, 2022 #6 DirectAdmin intends to drop custom installation of cURL in favor of using the version installed from OS repository. That doesn't seem to be the most wise thing. See the release post of DA RC. I just posted in there.Seems that the OS versions have older versions of curl present then currently used by DA custombuild. cjd Verified User #7 @ps4all For Debian I routinely use backports repo to get newer versions of some applications, in most cases they are an acceptable version, but they won't be the latest, as long as they are patched i'm fine with not having the latest versions. (eg: Debian 11 curl is 7.74.0-1.3+deb11u2, bullseye-backports has 7.85.0-1~bpo11+1 at this time.) #8 curl from OS, it will patch directly from distro but it show version likely "7.61.1-XX". "XX" will be version update of distro.for more detail, see changelog section #9 curl from OS, it will patch directly from distro but it show version likely "7.61.1-XX". Normally yes but when you execute the -V command you se this:curl 7.61.1 (x86_64-redhat-linux-gnu) libcurl/7.61.1 OpenSSL/1.1.1k zlib/1.2.11 brotli/1.0.6 libidn2/2.2.0 libpsl/0.20.2 (+libidn2/2.2.0) libssh/0.9.6/openssl/zlib nghttp2/1.33.0>>>>Release-Date: 2018-09-05-25 mentioned>>>>>But in the changelog they mention as latest backported 7.61.1. version :2022-06-29 - Kamil Dudka [email protected]> - 7.61.1-25- setopt: enable CURLOPT_SSH_KNOWNHOSTS and CURLOPT_SSH_KEYFUNCTION (#2063703)- fix HTTP compression denial of service (CVE-2022-32206)- fix FTP-KRB bad message verification (CVE-2022-32208)So there is some confusion here , It is an good idea to keep the cURL managed by CB instead of OS #10 I just noticed this..... What is the reasoning here? I know both will install in the same paths (I assume), but if it ain't broken, don't try to fix it.Has someone from the cPanel team joined JBMC?! /sEdit: Just noticed CB does an apt/yum now before compile.... Hmmm #11 @ps4all For Debian I routinely use backports repo to get newer versions of some applications, in most cases they are an acceptable version, but they won't be the latest, as long as they are patched i'm fine with not having the latest. 7. 88. 1-10 deb12u9: [.dsc, use dget on this link to retrieve source package] [ ] curl 8.12.0git .89ed161ds-1 MIGRATED to testingสำนักงานเขตพื้นที่การศึกษาประถมศึกาากาญจนบุรี เขต 1 - 88
Website wants to open web content using this program on yourcomputer...."To workaround this problem, you can:make sure that ieuser.exe is not running when you install the Curl RTE, or,reboot after installing the Curl RTEIn IE7 Quick Tabs view, Curl applications are displayed as icons.Due to a limitation in Internet Explorer, the Internet Explorer 7 Quick Tabsview will show Curl language applets as just an icon, and will not show an imageof the Applet content.Curl applet open in both new tab and new window in IE with multi-tab settingWith newer versions of Internet Explorer, version 7.0 and newer, if you have IEset to use tabs and display new pages or links in a new tab, you can get a newversion of a the Curl applet in a new tab each time you run the Curl appletfrom the IDE.Workaround: Change the setting for opening new pages or links to open inthe same page in IE.API - Language IssuesCurl's cryptographic API fails on Win2K when used with Algorithm.rc2The Curl RTE's cryptographic API (in the CURL.CRYPTO.CIPHER package)relies on the underlying operating system for its implementation.In Windows XP Service Pack 1, Microsoft changed the number of bits usedby keys for the RC2 cipher such that encrypted data cannot be exchangedbetween Windows XP and earlier releases of Windows. Curl specifies a keylength of 128 bits for RC2 on all its supported platforms, but on Windowsbefore XP Service Pack 1, the Microsoft Cryptographic Provider used only40 bits in an RC2 key. Your applications should notuse CURL.CRYPTO.CIPHER.Algorithm.rc2 If you care about exchangingencrypted data with software running on older Windows operating systems.Top-level syntax constants cannot be used as aliasesIt is now possible to create aliases for macros and built-in syntaxes using thenew 'def' syntax. For instance: def mydo = do {mydo {output "mydo"} }This ability should be used sparingly since it can obviously lead to confusion.It is also now legal to use macros as parameterized type parameters.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-23I have a file that has all the urls from which I need to download. However I need to limit one download at a time.i.e. the next download should begin only once previous one is finished.Is this possible using curl? Or should I use anything else. Stephane6,4723 gold badges28 silver badges48 bronze badges asked Sep 20, 2013 at 7:17 1 xargs -n 1 curl -O answered Sep 16, 2015 at 22:48 GrumdrigGrumdrig4915 silver badges10 bronze badges 3 wget(1) works sequentally by default, and has this option built in: -i file --input-file=file Read URLs from a local or external file. If - is specified as file, URLs are read from the standard input. (Use ./- to read from a file literally named -.) If this function is used, no URLs need be present on the command line. If there are URLs both on the command line and in an input file, those on the command lines will be the first ones to be retrieved. If --force-html is not specified, then file should consist of a series of URLs, one per line. However, if you specify --force-html, the document will be regarded as html. In that case you may have problems with relative links, which you can solve either by adding "" to the documents or by specifying --base=url on the command line. If the file is an external one, the document will be automatically treated as html if the Content-Type matches text/html. Furthermore, the file's location will be implicitly used as base href if none was specified. answered Sep 20, 2013 at 8:40 dawuddawud15.5k4 gold badges44 silver badges62 bronze badges 1 This is possible using curl within a shell script, something like this but you'll need to research appropriate options for curl etc for yourselfwhile read URL curl some options $URL if required check exit status take appropriate actiondone answered Sep 20, 2013 at 7:26 user9517user9517117k20 gold badges222 silver badges306 bronze badges 3 Based on @iain answer, but using proper shell scripting -while read url; do echo "== $url ==" curl -sL -O "$url"done Will also work with weird characters like
2025-04-17Versions. (eg: Debian 11 curl is 7.74.0-1.3+deb11u2, bullseye-backports has 7.85.0-1~bpo11+1 at this time.) Exactly what i meant with unstable/testing branch cause in the end that's what backports is (at least, that's what I understood).This whole decision is pretty strange, updates for Curl aren't rolled out for nothing (look at the vulnerability list) so I wonder if this isn't going to result into security issues. #12 So how we can update to a safe Curl version now?especially on centos 7 which uses : 7.29.0 #13 So how we can update to a safe Curl version now?especially on centos 7 which uses : 7.29.0 You can't unless you are comfortable with compiling your own to the correct directories..... #14 Removing cURL from CB is a poor action by DirectAdmin. My VPS has dozens of scripts looking for the "updated" version of cURL in /usr/local/bin which no longer exists. So, we can point to cURL version 7.29.0. That is way old!! DirectAdmin intends to drop custom installation of cURL in favor of using the version installed from OS repository. The update message this morning (for root) seems to verify this:cURL 7.85.0 to OS update is available.However, the previous version of cURL (7.85.0) in /usr/local/bin/ is now GONE!Any suggestions on how to accomplish "... using the version installed from OS repository" ? Last edited: Nov 28, 2022 #15 ./build update_versions should do the things. #16 Ah, I think this a problem for my customers too. Running 7.29.0 now, but their functions aren't running anymore.Is not giving an update for cURL. #17 Is not giving an update for cURL. A switch to an OS version is expected by running the command. #18 Is not listing anything like cURL, it is a CentOS 7 server. #19 Another vote to keep cURL as it was. IMO it falls in the same category as apache.The OS supplied cURL version is too far behind feature wise. There are new features all the time. #20 Another vote to keep cURL as it was. IMO it falls in the same category as apache.The OS supplied cURL version is too far behind feature wise.There are new features all the time. Working installations are broken now by this decision :-(
2025-04-02