使用c语言的curl发送http请求,第一步是拼接URL
使用c拼接url的代码如下
#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>
#include <string.h>
int main(void) {
char *base_url = "http://127.0.0.1:10011/bill-tts-server-agent";
char *voiceType = "biaobei";
char *voiceName = "标准合成_甜美女声_楠楠";
char *language = "ZH";
char *text = "你好";
char *speed = "5";
char *volume = "5";
char *pitch = "5";
char *audioType = "6";
char *rate = "1";
int curl_length = 0;
curl_length += strlen(base_url);
curl_length += strlen("?voiceType=&voiceName=&language=&text=&speed=&volume=&pitch=&audioType=&rate=");
curl_length += strlen(voiceType);
curl_length += strlen(voiceName);
curl_length += strlen(language);
curl_length += strlen(text);
curl_length += strlen(speed);
curl_length += strlen(volume);
curl_length += strlen(pitch);
curl_length += strlen(audioType);
curl_length += strlen(rate);
char *dest_url = malloc(curl_length);
strcat(dest_url, base_url);
strcat(dest_url, "?voiceType=");
strcat(dest_url, voiceType);
strcat(dest_url, "&voiceName=");
strcat(dest_url, voiceName);
strcat(dest_url, "&language=");
strcat(dest_url, language);
strcat(dest_url, "&text=");
strcat(dest_url, text);
strcat(dest_url, "&speed=");
strcat(dest_url, speed);
strcat(dest_url, "&volume=");
strcat(dest_url, volume);
strcat(dest_url, "&pitch=");
strcat(dest_url, pitch);
strcat(dest_url, "&audioType=");
strcat(dest_url, audioType);
strcat(dest_url, "&rate=");
strcat(dest_url, rate);
printf("%s\n", dest_url);
return EXIT_SUCCESS;
}
拼接后的字符串如下
http://127.0.0.1:10011/bill-tts-server-agent?voiceType=biaobei&voiceName=标准合成_甜美女声_楠楠&language=ZH&text=你好&speed=5&volume=5&pitch=5&audioType=6&rate=1
看看上面的代码多么长,没有什么简化的方法代替上的代码?
想不麻烦就不要在意浪费一点内存哈