Http POST, selecionar página
-
Olá pessoal, estou tentando me autenticar em um servidor online, mas não consigo selecionar a página a qual quero me conectar, o erro retornado diz que o protocolo é desconhecido...:
Primeiro a requisição GET
@
QObject::connect(&access, SIGNAL(finished(QNetworkReply*)), &loop_get, SLOT(quit()));url_str = QString("http://") + info + QString(".server.com"); server_url = QString("t") + info + QString("-") + info + QString(".server.com"); request.setUrl(QUrl(url_str)); reply = access.get(request); loop_get.exec(); if(reply->error() != QNetworkReply::NoError) { throw std::runtime_error(reply->errorString().toStdString()); } delete reply;
@
e agora a requisição POST:
@
QObject::connect(&access, SIGNAL(finished(QNetworkReply*)), &loop_post, SLOT(quit()));url_str = "/pagina_que_quero?parametros=5&t=3"; //Montar corpo da msg msg_body = QString("message"); //Montar cabeçalho HTTP request.setUrl(QUrl(url_str)); request.setHeader(QNetworkRequest::ServerHeader, server_url); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlenconded"); request.setHeader(QNetworkRequest::ContentLengthHeader, QString::number(message.size())); reply = access.post(request, QByteArray(message.toStdString().c_str())); loop_post.exec(); if(reply->error() == QNetworkReply::NoError) { qDebug() <<"that's ok:\n"<<reply->readAll(); } else { qDebug() <<"That's not ok:\n"<<reply->errorString(); } delete reply;
@
o erro retornado é:
@That's not ok:
"Protocol "" is unknown" @Não sei como informar a página desejada ao servidor, no google não se encontra nada sobre isso, apenas exemplos simples. Se alguém puder ajudar eu agradeço.
:) -
Não tenho como falar o que esta acontecendo se vc nao mostrar o site que vc quer fazer login, mas vc pode dar uma olhada nesse exemplo que eu fiz "clicando aqui":http://www.4shared.com/zip/aUWk2stNba/testeSimulador.html
A parte da conexão começa no construtor da classe mainwindow e ele faz conexão no site da folha investe.
eu removi minha senha, mas se quiser testar, cria um login em "folha investe":http://folhainvest.folha.com.br/
O compilador que eu utilizei foi o mingw e a versão do Qt foi a 5.
-
O erro já foi solucionado, estou fazendo assim: o login será ativado pelo click de um botão, então eu leio as informações de login e tento me autenticar no servidor, para montar o corpo do pedido eu utilizei um sniffer para ver como a autenticação é feita: o site não criptografa os dados e as informações de login vão no corpo da mensagem: indicando o servidor, o mundo ao qual desejo me logar, o usuário e o password, mas isso eu já fiz, o problema é que ele retorna uma página de erro, mesmo o login estando correto, agradeço pelo seu código, eu vou baixá-lo e ver como você fez.
O site ao qual tento me autenticar é o ikariam: br.ikaiam.gameforge.com