Название: Авторизация средствами QNetworkAccessManager Отправлено: PinkPanther от Апрель 28, 2010, 23:06 Добрый вечер!
Потребовалось написать клиент для простейших операций с twitter, службой микроблогов, и возникли сложности. У twitter есть свой API, и сообщение в блог можно добавить, например, средствами Curl: Код: curl --basic --user username:password --data status="Having fun with cURL" http://twitter.com/statuses/update.xml Но этот пример работает лишь в случае, если сообщение на английском. Если текст на русском, в микроблог попадает мусор. QUrl::toPercentEncode() тоже не помогла - в микроблог попадает длинная строка типа B0780C93A6A10812 и т.д. Вопрос, собственно, такой: каким образом реализовать курловское залогинивание средстами QNetworkAccessManager? Какие переменные заполнить значениями логина & пароля? Куда их поместить? Название: Re: Авторизация средствами QNetworkAccessManager Отправлено: Vass от Апрель 29, 2010, 20:47 Когда Вы делаете запрос с помощью QNetworkAccessManager Вы передаете ему QNetworkRequest, который в свою очередь получает при создании в конструктор QUrl, у QUrl есть методы setUsername setPassword они Вам и нужны, впрочем Вы можете просто создать QUrl с параметром строки адреса вида:
Код: http://username:password@twitter.com/statuses/update.xml?staus=SomeText НО! Авторизация через HTTP Headers в Twitter опмечена как устаревшая и перестанет работать с конца июня сего года, авторизацию приложений рекомендуется производить по протоколу OAuth, Вот здесь Вы можете прочитать мою статью про Qt, Twitter и OAuth: http://habrahabr.ru/blogs/development/86846/ Название: Re: Авторизация средствами QNetworkAccessManager Отправлено: PinkPanther от Апрель 30, 2010, 10:11 Когда Вы делаете запрос с помощью QNetworkAccessManager Вы передаете ему QNetworkRequest, который в свою очередь получает при создании в конструктор QUrl, у QUrl есть методы setUsername setPassword они Вам и нужны, впрочем Вы можете просто создать QUrl с параметром строки адреса вида: Код: http://username:password@twitter.com/statuses/update.xml?staus=SomeText НО! Авторизация через HTTP Headers в Twitter опмечена как устаревшая и перестанет работать с конца июня сего года, авторизацию приложений рекомендуется производить по протоколу OAuth, Вот здесь Вы можете прочитать мою статью про Qt, Twitter и OAuth: http://habrahabr.ru/blogs/development/86846/ Про QUrl - исключительно полезная информация, не знал и копал совсем в другом месте. Большое спасибо! Про QAuth - спасибо, прочту обязательно! Очень актуально. |