Qt 지원 https 요청

1548 단어 Qthttpsqt
Qt 지원 https 요청 은 openssl 환경 을 설정 해 야 합 니 다. Qt 기본 값 은 SSL 인증 을 지원 하지 않 습 니 다. Qt 지원 프로 토 콜 을 검사 합 니 다.
QNetworkAccessManager *manager = new QNetworkAccessManager(this); qDebug() << manager->supportedSchemes(); 돌아 온 결과: ("ftp", "file", "qrc", "http", "https", "data")
환경 설정: 대응 하 는 라 이브 러 리 파일 libeay32. dll 과 ssleay32. dll 이 필요 합 니 다.libeay 32. dll 과 ssleay 32. dll 두 개의 라 이브 러 리 파일 을 다운로드 하고 이 두 개의 라 이브 러 리 파일 을 프로그램 생 성 디 렉 터 리 에 복사 하거나 QtNetwork 모듈 의 라 이브 러 리 파일 디 렉 터 리 에 복사 해 야 합 니 다.코드 설정: HTTP 요청 을 보 내기 전에 다음 코드 를 추가 합 니 다.
QNetworkAccessManager* pManager = new QNetworkAccessManager(this); QNetworkRequest request;
//   https       ;
QSslConfiguration config;
QSslConfiguration conf = request.sslConfiguration();
conf.setPeerVerifyMode(QSslSocket::VerifyNone);
conf.setProtocol(QSsl::TlsV1SslV3);
request.setSslConfiguration(conf);

request.setUrl(QUrl(url));       // "https://www.temp.com"
QNetworkReply *pReply = pManager->post(request, bytePost);

connect(pReply , SIGNAL(finished()) , this , SLOT(onFinished());
connect(pReply , SIGNAL(error(QNetworkReply::NetworkError)) , this , SLOT(onError(QNetworkReply::NetworkError)));

openssl 다운로드:http://slproweb.com/products/Win32OpenSSL.html Win 32 OpenSSL 을 다운로드 하여 설치 하거나 bin 디 렉 터 리 아래 의 libeay 32. dll 과 ssleay 32. dll 라 이브 러 리 를 복사 하여 생 성 프로그램 exe 동급 디 렉 터 리 에 넣 으 면 됩 니 다. 또는 이 컴퓨터 에서 libeay 32. dll 과 ssleay 32. dll 을 검색 해 보 세 요. 있 으 면 직접 복사 하면 됩 니 다. 설치 가 귀 찮 지 않 습 니 다.

좋은 웹페이지 즐겨찾기