繁体   English   中英

如何在C ++中使用asio.boost修改Web上文件的内容?

[英]how can i modify the contents of a file on the web using asio.boost in c++?

我知道如何通过使用以下代码读取文件的内容:

#include <iostream>
#include <string>
#include <boost/asio.hpp>
int main()
{
    boost::asio::ip::tcp::iostream s("www.a.com", "http");
    if(!s)
        std::cout << "Could not connect to www.a.com\n";
    s  << "GET /b.txt HTTP/1.0\r\n"
       << "Host: www.a.com\r\n"
       << "Accept: */*\r\n"
       << "Connection: close\r\n\r\n" ;
    for(std::string line; getline(s, line); )
         std::cout << line << '\n';
}

有什么办法也可以写入文件吗? 当然,前提是我有权修改文件!

非常感谢您通过真实帐户发布此信息。

您的问题被误导了。

网上没有“文件”。 有服务器,您可以与他们交谈。

常用的Web服务器使用某种HTTP版本,非常适合下载HTML页面,样式表,图像等内容。

您要执行的操作(“写文件”) 不是 HTTP服务的常规功能。 但是,显然有扩展:

  • FrontPage扩展是早期的事情
  • WebDAV已被广泛采用(用于WebSVN,Sharepoint,受Apache支持等)

选择一种协议并使用它。 您很有可能最终会收到类似请求的“ POST”(因此具有内容长度和正文),但可能还会有另一个HTTP“ Verb”( https://technet.microsoft.com/zh-cn/library/bb498138( v = exchg.80).aspx )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM