如何在Unix系统上使用cURL库发送HTTP请求

作者:佚名 上传时间:2023-04-22 运行软件:cURL-library 软件版本:cURL 7.64.0 版权申诉

本示例代码演示了如何在Unix系统上使用cURL库发送HTTP请求,包括GET、POST等方法,同时支持添加请求头和请求体。

#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>

// 定义回调函数处理返回值
static size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream) {
  size_t written = fwrite(ptr, size, nmemb, (FILE *)stream);
  return written;
}

int main(void) {
  CURL *curl;
  CURLcode res;
  FILE *fp;

  // 初始化cURL库
  curl_global_init(CURL_GLOBAL_DEFAULT);

  // 创建句柄
  curl = curl_easy_init();
  if (curl) {
    // 设置请求URL
    curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");

    // 设置请求头
    struct curl_slist *headers = NULL;
    headers = curl_slist_append(headers, "Content-Type: application/json");
    curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);

    // 设置请求体
    curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "{\"name\":\"example\"}");

    // 设置GET或POST等方法
    curl_easy_setopt(curl, CURLOPT_POST, 1L);

    // 打开返回结果的文件
    fp = fopen("result.txt","wb");
    if (fp == NULL) {
      curl_easy_cleanup(curl);
      return 1;
    }

    // 设置选项,将返回值写入文件
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);

    // 发送请求
    res = curl_easy_perform(curl);

    // 关闭文件,清理句柄
    fclose(fp);
    curl_slist_free_all(headers);
    curl_easy_cleanup(curl);
  }

  // 清理cURL库
  curl_global_cleanup();

  return 0;
}

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
Unix使cURLHTTP
本示例代码演示了如何在Unix系统上使用cURL库发送HTTP请求,包括GET、POST等方法,同时支持添加请求头和请求体。#include <stdio.h>#include <
cURL 7.64.0
cURL-library
2023-04-22 05:59
使curl命令UnixHTTP
本示例代码演示了如何使用curl命令在Unix系统上发送HTTP请求,包括GET请求和POST请求。curl是一款常用的开源命令行工具,用于与HTTP、FTP、SMTP等协议进行数据传输。本示例代码中
curl 7.68.0
curl
2023-05-27 15:06
Unix使curlGET
本文介绍了如何在Unix系统中使用curl命令行工具发送GET请求,并解释了各个选项的用途。#!/bin/bashcurl -i -G https://api.github.com/users/o
curl 7.72.0
curl
2023-04-29 02:55
Unix环境下使curlHTTP
介绍如何在Unix环境下使用curl命令发送HTTP请求,并通过示例代码演示发送GET和POST请求的方法。使用curl命令可以方便地与Web服务进行通信和测试。# 发送GET请求curl htt
curl 7.64.1
curl
2023-03-30 04:32
Rust中使curlHTTP
本示例展示了如何使用Rust中的curl库发送HTTP请求,并获取到响应内容。use curl::easy::Easy;fn main() { let mut easy = Easy::
curl 7.77.0, Rust 1.55.0
Rust程序
2023-03-19 23:01
PHP中使cURLHTTP
本示例展示了如何在PHP中使用cURL库来发送HTTP请求,并获取响应数据。cURL是一个常用的支持很多协议的用于数据传输的工具库。通过使用cURL库,我们可以方便地实现HTTP请求和响应的交互。/
PHP 7.0
PHP
2023-04-08 03:38
Unix使curl命令HTTP POST
本示例介绍如何使用curl命令发送HTTP POST请求,其中包括发送JSON数据、添加HTTP头等常见操作。此示例涉及Unix中的终端操作,适用于想要使用curl命令发送HTTP请求的开发者和系统管
curl 7.74.0
curl
2023-03-23 13:47
使curlHTTP
本示例展示如何使用curl库发送HTTP请求,包括使用GET和POST方法,设置请求头部和请求体等。curl是一款非常强大的网络传输工具,支持包括HTTP在内的多种协议。#include <s
curl 7.76.1
C语言
2023-04-17 09:06
PHP中使curlHTTP
本示例展示了如何使用PHP的curl库发送HTTP请求。curl库是一个开源库,可以用于发送HTTP、HTTPS、FTP等协议的请求。// 初始化curl$ch = curl_init();/
PHP 7.4.23
PHP
2023-04-02 13:30
Linux使Curl命令HTTP GET
本示例介绍如何在Linux终端中使用Curl命令发送HTTP GET请求,获取指定URL返回的内容,并将结果打印到控制台。curl http://example.com/
Curl 7.58.0
Curl
2023-03-14 18:00