首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示使用c++发送到我的服务器的HTTP请求

显示使用c++发送到我的服务器的HTTP请求
EN

Stack Overflow用户
提问于 2017-01-31 00:15:51
回答 1查看 65关注 0票数 0

我目前正在学习有关互联网的知识。我正在尝试设置一个简单的代理服务器,它只是将一个请求从服务器端转发到它的客户端。我目前正在关注this教程。这就是我所学到的:

代码语言:javascript
复制
#define MYPORT "3490"  // the port users will be connecting to
#define BACKLOG 10     // how many pending connections queue will hold

int main(int argc, const char* argv[]) {
    struct addrinfo hints;
    struct addrinfo *res;
    int sockIn;
    int sockOut;

    memset(&hints, 0, sizeof hints); // make sure its empty
    hints.ai_family = AF_UNSPEC;     // use IPv4 or IPv6, whichever
    hints.ai_socktype = SOCK_STREAM; // what kind of socket
    hints.ai_flags = AI_PASSIVE;     // fill in my IP for me

    //listens on the hosts ip address:
    getaddrinfo(NULL, MYPORT, &hints, &res);

    // make a socket, bind it, and listen on it:
    sockIn = socket(res->ai_family, res->ai_socktype, res->ai_protocol);
    bind(sockIn, res->ai_addr, res->ai_addrlen);
    listen(sockIn, BACKLOG);

    freeaddrinfo(res); // free the linked-list

        struct sockaddr_storage their_addr;
        socklen_t addr_size;
        char buf[512];

        while(1) {
            addr_size = sizeof their_addr;
            struct sockaddr *addr = (struct sockaddr *)&their_addr;
            sockOut = accept(sockIn, addr, &addr_size);
            recv(sockOut, buf, sizeof buf, 0);
            for (auto ch : buf) {
                cout << ch;
            }
            close(sockOut);
        }
}

现在我只是在我访问的每个页面上显示"hi“。在实现代理的客户端之前,我想显示浏览器发送给代理的服务器端的HTTP Get请求。我的问题是我不知道如何检索它。我使用的指南并没有提到这一点。

Edit:我添加了一个recv调用,该调用用于将套接字中的所有内容读取到缓冲区中。不幸的是,它什么也不能解释。

EN

回答 1

Stack Overflow用户

发布于 2017-01-31 00:23:15

下载并安装wireshark (数据包嗅探器)或Fiddler Fiddler(超文本传输协议代理)。您将能够轻松地检查HTTP流量。我建议你从小提琴手开始。安装在浏览器所在的计算机上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41940568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档