前段时间,我做了一个非常简单的方法,可以发出http请求并返回响应。这按照我的预期工作,但现在我想再次使用它,但我突然遇到了一个我似乎无法弄清楚的问题。每次我发出请求时,都会返回错误 503:服务不可用。
有时有效,有时无效。
我注意到如果我在连接关闭后放置一个断点并稍等一下然后继续,就没有问题并且一切正常。所以我的猜测是这与服务器的计时/延迟有关。
有人对此有经验吗?
提前致谢!
string HttpHelper::HttpGet(string host, string path)
{
WSADATA wsaData;
int result;
// Initialize Winsock
result = WSAStartup(MAKEWORD(2, 2), &wsaData);
if (result != 0)
throw SocketError(L"WSAStartUp", result);
// Resolve the server address and port
addrinfo * pAddrInfo;
result = getaddrinfo(host.c_str(), "80", 0, &pAddrInfo);
if (result != 0)
throw SocketError(L"addrinfo", result);
//Create the socket
SOCKET sock = socket(pAddrInfo->ai_family, pAddrInfo->ai_socktype, pAddrInfo->ai_protocol);
if (sock == INVALID_SOCKET)
throw SocketError(L"Socket", WSAGetLastError());
// Connect to server.
result = connect(sock, pAddrInfo->ai_addr, pAddrInfo->ai_addrlen); …Run Code Online (Sandbox Code Playgroud)