0

http 및 https를 호출하고 응답을 구문 분석하려고합니다. 나는 HTTP 요청에 리스폰스를 얻고 있지만, HTTPS 호출에 나는QSslSocket : 해결되지 않은 함수를 호출 할 수 없습니다. SSLv23_client_method

QSslSocket: cannot call unresolved function SSLv23_client_method 
QSslSocket: cannot call unresolved function SSL_CTX_new 
QSslSocket: cannot call unresolved function SSL_library_init 
QSslSocket: cannot call unresolved function ERR_get_error 




void MyClass::on_push_button_clicked() 
{ 
QString address = "New York"; 

QNetworkAccessManager *qnam__get_address=NULL; 
QNetworkRequest request; 


QString myurl; 
//myurl = "http://google.com/complete/search?output=toolbar&q="+address; 
myurl = "https://maps.googleapis.com/maps/api/geocode/xml?address=New York&key=google api key"; 
QUrl url(myurl); 
request.setUrl(url); 
qDebug() << url; 
qnam__get_address = new QNetworkAccessManager(this); 
if(qnam__get_address) { 
    QObject::connect(qnam__get_address, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)), this, SLOT(onSslError(QNetworkReply*, QList<QSslError>))); 
    QObject::connect(qnam__get_address, SIGNAL(finished(QNetworkReply*)),this, SLOT(on_push_button_clicked_response(QNetworkReply*))); 
    reply = qnam__get_address->get(request); 
} 
return; 
} 
void MyClass::onSslError(QNetworkReply* r, QList<QSslError> errors) 
{ 
r->ignoreSslErrors(); 
} 

void MyClass::on_push_button_clicked_response(QNetworkReply* reply) 
{ 
// no error received? 
if (reply->error() == QNetworkReply::NoError) 
{ 
    qDebug()<<"MyClass:: got the response"; 
} 
// Some http error received 
else 
{ 
    qDebug() << ".......error"; 
} 
if(reply) 
{ 
    reply->deleteLater(); 
} 
return; 
} 

누군가가 방법이 오류를 해결하기 위해 말해 주시겠습니까이 오류는 무엇입니까? 정확히 무엇을해야합니까?

또한 하나의 이상한 동작으로, libeay32.dll 및 ssleay32.dll 파일을 .exe 파일로 유지하면 https에 대한 응답이 표시되지만 http 응답은받지 못한다는 것을 알았습니다.

답변

0

어리 석음의 높이 ................ OpenSSL을 설치하고 문제를 해결했습니다. 그래서 지금 실행/디버깅하려고하면 오류가 발생하지 않습니다.

이러한 URL이 작동하지 않는 이유를 발견했습니다. // myurl = "http://google.com:80/complete/search?output=toolbar&q="+ 주소; myurl = "https://maps.googleapis.com:443/maps/api/geocode/xml?address=New 요크 & 키 = google api 키"; 포트를 추가 한 후 응답을 받았습니다.