我正在尝试使用 http GET 获取带有套接字的网页。我确实获取了该页面,但是有一些小问题。 有时我没问题,但有时我用错误的字符得到它,例如:
**<td class="c_ba2636">09</t
1ff8 d>**
应该是:
<td class="c_ba2636">09</td>
我不知道为什么有一个“1ff8”和一些“\r\n”。 它时不时地发生在这里和那里。有时它会像这样发生: 06
同样应该是:
<td class="c_ba2636">06</td>
这是我从套接字接收和保存页面的方式:
ofstream out("webpage.html");
char text[2050]="";
int recvbytes=0;
string content;
while ( (recvbytes = recv(sock, text, 2048, 0)) > 0)
{
content=string(text,recvbytes);
out << content.c_str();
//System::Console::Write(gcnew String(content.c_str()));
}
closesocket(sock);
out.close();
我试过 :out << text;它不起作用。 请问有人知道我的代码有什么问题吗? 我正在使用 VS2010,这是一个 winform 程序。
最佳答案
如果您输入的文本是 UTF8 编码并且包含超出 ASCII 空间的字符,这可能是正常的
关于c++ - 使用 windows sockets(C++) 接收网页,但得到了一些意想不到的词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23827608/