QT : 최종 URL을 인코딩하지 않고 문자열에서 QUrl 또는 다른 URL 클래스 개체를 만드는 방법이 있는지 궁금합니다. URL에 매개 변수를 전달하면서QT : 퍼센트 인코딩이없는 QUrl
QString GetJsonStringFromURL(QString url) //url == "192.168.0.111/controller?POSITION|03|100"
{
QEventLoop eventLoop;
QNetworkAccessManager mgr;
QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
QNetworkRequest req(QUrl::fromUserInput(url)) ;
QNetworkReply *reply = mgr.get(req);
eventLoop.exec(); //wait till reply finished
QString strReply = reply->readAll();
return strReply;
}
이 코드는,이 get 메소드와 JSON의 요청 로컬 영역 네트워크 컨트롤러에 액세스 : 예를 들어, 다음은 내 코드의 조각이다. 내가 피하려고
"192.168.0.111/controller?POSITION%7C03%7C100"
: 내가 전달 해요 URL이로 인코딩 된 퍼센트를 가져옵니다. 내가 액세스하려고하는 서버는 퍼센트 디코딩을 포함하지 않는 C로 작성된 펌웨어가있는 사용자 정의 하드웨어입니다. 나는 서버 측에서 유지 보수를하고 싶지 않다. QUrl 클래스 참조를 시도했지만 사용 가능한 메서드 중 원하는 결과를 제공하지 못했습니다.
연구 2 일 후에 고맙습니다. 나는 이것을 포기하고 당신이 옳은 것처럼 비표준 URL을 변경하려고한다. QUrl 클래스는 표준 URL 컨벤션을 사용하여 문자열을 파싱하고 인코딩한다. –
좋아, d는 upvote을 인정하고이 대답을 받아들입니다. –
답변을 수락했지만 내 담당자가 너무 낮습니다 upvote :) –