POST http://www.site.ru/news.html HTTP / 1.0 \ r \ n Host: www.site.ru \ r \ n Referer: http://www.site.ru/index.html\r\n Cookie: income = 1 \ r \ n Content-Type: multipart / form-data; boundary = 1BEF0A57BE110FD467A \ r \ n Content-Length: 209 \ r \ n \ r \ n --1BEF0A57BE110FD467A \ r \ n Content-Disposition: form-data; name = "login" \ r \ n \ r \ n Petya Vasechkin \ r \ n --1BEF0A57BE110FD467A \ r \ n Content-Disposition: form-data; name = "password" \ r \ n \ r \ n qq \ r \ n --1BEF0A57BE110FD467A - \ r \ n
--1BEF0A57BE110FD467A \ r \ n Content-Disposition: form-data; name = "news_file"; filename = "news.txt" \ r \ n Content-Type: application / octet-stream \ r \ n Content-Transfer-Encoding: binary \ r \ n \ r \ n But such news, which lies in the file news.txt \ r \ n
// ++ Qt QNetworkAccessManager *manager; // 1 - - , 2 - QByteArray param1Name="param1" ,param1Value="value1"; QByteArray param2Name="param2", param2FileName="news.txt", param2ContentType="text/plain",param2Data=" , news.txt";
// QByteArray postData,boundary="1BEF0A57BE110FD467A"; // postData.append("--"+boundary+"\r\n");// // postData.append("Content-Disposition: form-data; name=\""); postData.append(param1Name); postData.append("\"\r\n\r\n"); // postData.append(param1Value); postData.append("\r\n"); // 2 - postData.append("--"+boundary+"\r\n");// // postData.append("Content-Disposition: form-data; name=\""); postData.append(param2Name); // postData.append("\"; filename=\""); postData.append(param2FileName); postData.append("\"\r\n"); // postData.append("Content-Type: "+param2ContentType+"\r\n"); // base64 postData.append("Content-Transfer-Encoding: base64\r\n\r\n"); // postData.append(param2Data.toBase64()); postData.append("\r\n"); //"" postData.append("--"+boundary+"--\r\n");
QNetworkRequest request(QUrl("http://example.com/submit.php")); request.setHeader(QNetworkRequest::ContentTypeHeader, "multipart/form-data; boundary="+boundary); request.setHeader(QNetworkRequest::ContentLengthHeader, QByteArray::number(postData.length())); QNetworkReply *reply=manager->post(request,postData);
Source: https://habr.com/ru/post/143168/
All Articles