python如何读取配置文件获取url以及hhead_linux – 如何使用cURL从文件中读取头文件?...

我们问shellcheck:

In yourscript line 3:

headers="$headers -H '$line'"

^-- SC2089: Quotes/backslashes will be treated literally.

Use an array.

好的,那就让我们这样做:

#!/bin/bash

while read line ; do

headers=("${headers[@]}" -H "$line")

done < public/headers.txt

echo "${headers[@]}"

curl -X PUT \

"${headers[@]}" \

-d @'public/example.json' \

echo.httpkit.com

结果:

{

"method": "PUT",

"uri": "/",

"path": {

"name": "/",

"query": "",

"params": {}

},

"headers": {

"host": "echo.httpkit.com",

"user-agent": "curl/7.35.0",

"accept": "*/*",

"x-paypal-security-userid": "123", //

"x-paypal-security-password": "123",

"content-length": "32",

"content-type": "application/x-www-form-urlencoded"

},

"body": "\"This is text from example.json\"",

"ip": "127.0.0.1",

"powered-by": "http://httpkit.com",

"docs": "http://httpkit.com/echo"

}

在OpenWRT源码,要编写一个调用`curl.h`头文件的应用程序,首先你需要了解`curl`库是一个用于网络通信的强大工具,特别是在Linux系统上。以下是创建一个基本的C应用程序,它使用`curl`库下载数据的基本步骤: 1. **包含头文件**: 在你的源代码文件(如`main.c`)顶部添加对`curl/curl.h`的包含: ```c #include <curl/curl.h> ``` 2. **初始化CURL**: 在程序开始之前,需要初始化CURL库: ```c CURL *curl; curl_global_init(CURL_GLOBAL_DEFAULT); ``` 确保在程序结束时调用`curl_global_cleanup()`来释放资源。 3. **设置请求**: 创建一个CURL结构,并设置你想执行的HTTP请求,例如GET请求: ```c curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://example.com"); } ``` 4. **处理回调函数**: 如果需要,你可以注册回调函数来处理数据接收、错误等事件。比如,使用`CURL_WRITEFUNCTION`选项接收下载的数据: ```c size_t write_data(void *ptr, size_t size, size_t nmemb, void *userp) { ((FILE *)userp)->fwrite(ptr, size, nmemb, userp); return size * nmemb; } FILE *output_file = fopen("output.txt", "wb"); if(output_file) { curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data); curl_easy_setopt(curl, CURLOPT_WRITEDATA, output_file); } ``` 5. **发送请求并获取结果**: 执行请求并处理可能出现的结果,最后记得清理资源: ```c CURLcode res; if(curl_easy_perform(curl)) { fprintf(stderr, "Error: %s\n", curl_easy_strerror(res)); } // 在这里可以检查输出文件是否成功创建,以及是否有错误 curl_easy_cleanup(curl); fclose(output_file); curl_global_cleanup(); ``` 6. **编译并安装**: 将上述代码保存到`.c`文件后,在OpenWRT的交叉编译环境使用`make`命令编译,然后通过`opkg install`将可执行文件安装到目标设备。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值