微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我无法从 iPhone 上的应用程序嗅探 QNetworkAccessManager 请求

如何解决我无法从 iPhone 上的应用程序嗅探 QNetworkAccessManager 请求

我按照手册在mac上设置了Charles。我在 iPhone 上配置了代理,在 iPhone 上安装了证书。从视觉上看,除了我的应用程序的流量外,Charles 会显示来自电话的流量。更准确地说,如果流量来自应用程序中的 WebView,则它是可见的。如果流量是由 QNetworkAccessManager 生成的,那么它就不存在。尽管应用程序运行良好,但它还是会从服务器接收数据。

可能有什么问题?

使用过的 SSL 库

ssllibraryBuildVersionString:  OpenSSL 1.1.1d  10 Sep 2019
ssllibraryVersionString:  OpenSSL 1.1.1d  10 Sep 2019

QNetworkAccessManager 是这样使用的:

    m_networkManager = QSharedPointer<QNetworkAccessManager>( new QNetworkAccessManager());
    VERIFY(connect(m_networkManager.data(),&QNetworkAccessManager::finished,this,&Client::onNetworkAccessManagerFinished));
    

...
    qnetworkrequest request(url);
    request.setRawHeader("Content-Type","application/x-www-form-urlencoded");
    request.setRawHeader("Origin","foobar.myapp.com");
    if (!userAgentHeader().isEmpty())
        request.setHeader(qnetworkrequest::UserAgentHeader,userAgentHeader());
    QNetworkReply* result = m_networkManager->get(request);
 
...
    qnetworkrequest request(urlBase() + path);
    request.setRawHeader("Content-Type","application/json");
    request.setRawHeader("Accept-Encoding","gzip,deflate");
    request.setRawHeader("Origin",userAgentHeader());

    QNetworkReply* result = m_networkManager->post(request,data);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。