Вот такие можно заголовки отправлять:
C++ (Qt)
QNetworkRequest request;
request.setUrl(url);
request.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
request.setRawHeader("Accept-Charset", "UTF-8,*;q=0.5");
request.setRawHeader("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4");
request.setRawHeader("Connection", "keep-alive");
request.setRawHeader("User-Agent", "Opera/9.00 (Windows NT 5.1; U; ru)");
Разницы между setHeader() и setRawHeader() в общем-то никакой. Разве что в первом случае, если Qt знает устанавливаемый заголовок, то проще ему значение присвоить. Нет необходимости придерживаться правил синтаксиса протокола.