Guest User

Untitled

a guest
Jan 19th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.50 KB | None | 0 0
  1. boost::shared_data read_url(const string& url)
  2. {
  3.     HINTERNET h = InternetOpenUrlA(g_internet, url.c_str(), NULL, 0, 0, 0);
  4.     boost::shared_mutable_data d(1 << 20);
  5.     mutable_data_ref w = d;
  6.     while (1)
  7.     {
  8.         if (!w.size())
  9.             goto error;
  10.         DWORD sz;
  11.         if (!InternetReadFile(h, w.data(), w.size(), &sz))
  12.             goto error;
  13.         if (!sz)
  14.             break;
  15.         w.advance_begin(sz);
  16.     }
  17.     InternetCloseHandle(h);
  18.     return d.substr(0, w.data() - d.data());
  19. error:
  20.     InternetCloseHandle(h);
  21.     return boost::shared_data();
  22. }
Add Comment
Please, Sign In to add comment