【问题标题】:Windows HTTP server API, UrlPrefix failing with Error 5, on HttpAddUrlWindows HTTP 服务器 API,UrlPrefix 在 HttpAddUrl 上失败并出现错误 5
【发布时间】:2014-12-01 20:41:38
【问题描述】:

下午好,

我正在关注 Windows Http Server Api 上的示例,可在此处找到: http://msdn.microsoft.com/en-us/library/windows/desktop/aa364640(v=vs.85).aspx

当我在 HttpAddUrl 函数中输入 http://localhost:8080/test 作为 URl 并将我的浏览器指向与我在上面示例中运行 http 服务器的同一台机器上的 http://localhost:8080/test 时,我的项目可以编译和工作。

网页显示响应,一切正常。

这是我对 HttpAddUrl 的调用

        retCode = HttpAddUrl(
        hReqQueue,    // Req Queue
        L"http://localhost:8080/test/",      // Fully qualified URL
        NULL          // Reserved
        );

不过,我的问题是从同一 LAN 上的另一台机器发送请求。

我尝试将浏览器指向 http://192.168.1.2:8080/test/,但出现 404 错误,

然后我尝试将 HttpAddUrl 函数更改为

        retCode = HttpAddUrl(
        hReqQueue,    // Req Queue
        L"http://192.168.1.2:8080/test/",      // Fully qualified URL
        NULL          // Reserved
        )

这仅返回 retCode = 5(我也无法确定其含义,如果有人可以帮助我确定此错误变量的枚举)

如果我想从另一台机器向本地服务器发送 HTTP 请求,是否有人知道我应该在 HttpAddUrl 函数中输入什么?

谢谢, -D

【问题讨论】:

    标签: windows http url server


    【解决方案1】:

    已解决,原来我没有以管理员权限运行 Visual Studio,错误 5 是系统错误“拒绝访问”

    http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx

    L"http://192.168.1.2:8080/test/" 的 URL 是正确的

    【讨论】:

    • 我也遇到了这个问题。一个令人担忧的事情是管理员需要在 1024 以上的端口号上执行此操作!
    猜你喜欢
    • 2010-10-22
    • 1970-01-01
    • 2011-09-10
    • 2014-10-07
    • 2017-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    相关资源
    最近更新 更多