簡體   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