Я хочу смоделировать отправку веб-формы в API PHP, но она не работает, я перепробовал много методов. Мой код
#define HADES "Content-Type:application/x-www-form-urlencoded;charset=utf-8"
int SendPacket(char *packet, const char *server)
{
curl_global_init(CURL_GLOBAL_ALL);
CURL *curl = curl_easy_init();
if (!curl) {
return -1;
}
CURLcode ret;
struct curl_slist *haderlist = NULL;
struct curl_httppost *post = NULL;
struct curl_httppost *last = NULL;
haderlist = curl_slist_append(haderlist, HADES);
curl_formadd(&post, &last, CURLFORM_COPYNAME, "username",
CURLFORM_COPYCONTENTS,
"11111111111", CURLFORM_END);
curl_formadd(&post, &last, CURLFORM_COPYNAME, "password",
CURLFORM_COPYCONTENTS,
"111111", CURLFORM_END);
curl_formadd(&post, &last, CURLFORM_COPYNAME, "client", CURLFORM_FILE,
"wap", CURLFORM_END);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, haderlist);
curl_easy_setopt(curl, CURLOPT_URL, server);
curl_easy_setopt(curl, CURLOPT_POST, 1);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, post);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback);
//SendData
ret = curl_easy_perform(curl);
if (ret != CURLE_OK ) {
curl_easy_strerror(ret);
return -1;
}
return 0;
}
Я изменил параметр post на этот формат, и его можно отправить следующим образом: username = 11111 & password = 1111 & client = wap вместо использования функции form_add, но я делаю не знаю, как это сделать. ![enter image description here](https://i.stack.imgur.com/xOZm8.png)
Как решить эту проблему? Понятия не имею