Libcurl庫使用傳送單個檔案及多個檔案demo
demo:
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
#include <stdlib.h>
#define PERM 0
char * name = "curl.c";
int main()
{
CURL *curl;
CURLcode rcode;
char *url = "192.168.1.100";
char *head_t = "66666666";
char heads[1024];
struct curl_httppost *formpost=NULL;
struct curl_httppost *lastptr=NULL;
struct curl_slist *headers=NULL; /* init to NULL is important */
sprintf(heads,"head-sky:%s",head_t);
headers = curl_slist_append(headers, heads);
rcode = curl_global_init(CURL_GLOBAL_NOTHING);
if (CURLE_OK != rcode)
goto err1;
curl = curl_easy_init();
if (NULL == curl)
goto err2;
#if PERM == 1
/*設定傳送單個檔案*/
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME,"sendfile",
CURLFORM_FILE, name,
CURLFORM_END);
#else
/*設定傳送多個檔案*/
struct curl_forms array[3];
array[0].option = CURLFORM_FILE;
array[0].value = "curl.c" ;
array[1].option = CURLFORM_FILE;
array[1].value = "1.png";
array[2].option = CURLFORM_END;
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "sendfile",
CURLFORM_ARRAY, array,
CURLFORM_END);
#endif
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "filename",
CURLFORM_COPYCONTENTS, name,
CURLFORM_END);
curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "submit",
CURLFORM_COPYCONTENTS, "send",
CURLFORM_END);
//設定傳送http頭部
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
//設定url
curl_easy_setopt(curl, CURLOPT_URL, url);
//設定http以post方式請求
curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);
//設定超時時間
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10L);
//傳送資料
rcode = curl_easy_perform(curl);
curl_formfree(formpost);
curl_easy_cleanup(curl);
curl_slist_free_all(headers);
curl_global_cleanup();
return 0;
err2:
curl_global_cleanup();
err1:
return;
}
除錯時可使用網路除錯助手,建立一個tcp server端,使用80埠,接收http請求。
如此在除錯助手上即可看到傳送的檔案及頭部。
相關推薦
Libcurl庫使用傳送單個檔案及多個檔案demo
demo: #include <stdio.h> #include <string.h> #include <curl/curl.h> #include <s
Struts2單個檔案和多個檔案上傳
<一>簡述: Struts2的檔案上傳其實也是通過攔截器來實現的,只是該攔截器定義為預設攔截器了,所以不用自己去手工配置,<interceptor name=”fileUpload” class=”org.apache.struts2.interceptor.
AJAX+Servlet3.0實現非同步檔案上傳(單個檔案、多個檔案上傳、帶檔案的表單提交)
一、上傳單個檔案 1.JSP頁面程式碼 <%@ page language="java" contentType="text/html;
J2EE開發:struts2 檔案上傳(單個檔案與多個檔案)
<一>簡述: Struts2的檔案上傳其實也是通過攔截器來實現的,只是該攔截器定義為預設攔截器了,所以不用自己去手工配置,<interceptor name="fileU
input 選取資料夾及多個檔案 識別內部檔案
input 選取資料夾 input 檔案的選取 <input type="file" class="upfile" multiple="multiple" /> 可以選取多個檔案 <input type="fi
博士問,如何分割一個大檔案為多個檔案
參考:http://www.cnblogs.com/waynechen/archive/2010/07/26/1785097.html split -l 300 large_file.txt new_file_prefix 解決 (adsbygoogle = windo
利用itext將html檔案轉化pdf檔案(5)——多個檔案的合併
工作中經常會遇到將多個html檔案轉化為pdf,並且將pdf轉化之後的檔案進行合併。官方參考文件下面來介紹簡單的操作:import java.io.ByteArrayInputStream; import java.io.FileInputStream; import jav
mybatis3.1-[topic-18-20]-_對映檔案_引數處理_單個引數&多個引數&命名引數 _POJO&Map&TO 三種方式及舉例
筆記要點出錯分析與總結 /**MyBatis_對映檔案_引數處理_單個引數&多個引數&命名引數 * _POJO&Map&TO 三種方式及舉例 _ * 單個引數 : #{引數名} ,取出引數值; [mybatis 不會做特殊處理]
將目錄及子目錄下多個檔案內容合併
cat `find $PWD | xargs ls -ld |grep "^-" | awk -F " " '{print $9}'` >> merge.txt find $PWD:查詢當前目錄下所有的檔案與資料夾 xargs:將輸出的輸出的多行內容轉換成一行,也可使用
JMeter、Postman、Requests介面測試經驗分享-一個請求中傳送多個檔案
之前就已經有打算分享一篇關於使用Post請求傳送多個檔案的部落格;最近好好工作、天天打遊戲,也就耽誤許久。今天來分享下,這個上傳多個檔案的請求實際也是一種 一個引數傳多個值的情況; (一)POST請求-multipart/form-data 這篇分享:POST請求方法之content
C語言及程式設計進階例程-2 一個程式,多個檔案
演示:建立多檔案的專案main.c#include <stdio.h> int max(int x,int y); int main( ) { int a,b,c; printf("輸入兩數:"); scanf("%d %d", &a, &b
【Maven jar】打包單個或多個檔案,有依賴jar包的將架包一起打包成一個jar包供別的專案引用
之前有一片文章,是打包單個java檔案的。這次想要將http://www.cnblogs.com/sxdcgaq8080/p/8398780.html 打包成jar包,發現這個java檔案中引用了多個第三方的jar,想要單獨進行編譯都無法通過,更不要說打包成jar了。 所以就營運而生了這個需求,怎麼打包單
Linq 修改表中單個欄位的值及多個欄位的值
一、修改單列的值 //這個方法是根據主鍵修改指定列的值。所以在傳值的時候WEBSITEBOOKSERVICE item=new WEBSITEBOOKSERVICE(); item.ID=20; item.ISAVAIL=1; public int UpdateAny(W
MFC對話方塊選擇多個檔案及選擇資料夾
選擇多個檔案(這裡選擇多張圖片) void SelctFiles() { CFileDialog dlg(TRUE, _T("*.jpg"), NULL, OFN_ALLOWMULTISE
單個檔案上傳+多個檔案上傳
單個檔案上傳 jsp頁面 <body> <form action="shangchuan.do" method="post" enctype="multipart/form-data"> 檔案<
jspsmartupload元件實現單個或多個檔案上傳(下)
///實現新增多個附件 <%@ page language="java" pageEncoding="GBK"%> <html> <head> <title>struts upload by zhangc</titl
C語言基於socket的檔案傳輸(可迴圈傳送多個檔案)
基本簡介:本次檔案傳輸的實現主要是通過客戶端向伺服器傳送下載請求,然後在伺服器中找到對應的檔案並開啟檔案,再繼續向客戶端傳送檔案,而客戶端就在不停的接收。這是因為檔案可能比較大,一個緩衝陣列只能儲存一部分檔案內容,因此伺服器得不斷從檔案中讀取內容併發給客戶端,而客戶端得不停的
HttpClient傳送方實現上傳多個檔案
public static void upload(String url, List<String> filepaths,HashMap<String, String> mapParams) { HttpClient
easypoi導出單個sheet和多個sheet
簡單 取數據 logs 註解 ont log 導出 image 研究 今天有時間研究了一下easypoi,感覺使用了easypoi導出excel方便了很多,不用寫很多復雜的反射,只需要使用註解和一些工具類就可以實現常用的excel的導出,接下來介紹一下easypoi如何導出
圖片轉PDF及多個PDF之間的合並
fim ati size ddt text tex 輸出 dpa cat public static void ConvertPicture2PDF(string jpgfile, string pdf) { try { var do