csdn现在怎么这么慢!!!

xy328 2002-10-10 02:32:34
csdn现在怎么这么慢!!!我可是宽带上网,半天打不开一个网页!!!
...全文
39 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
quace 2002-10-11
  • 打赏
  • 举报
回复
使用xml,ie的解析速度比较慢
感觉上csdn用了很多华而不实的技术
dy_paradise 2002-10-10
  • 打赏
  • 举报
回复
CSDN要改版了,界面还是差不多, 不过,今天在测试的网站上看看,速度还可以,但我怀疑是不是去的人少的缘故, 如果多了,不知道会怎么样了
syberprince 2002-10-10
  • 打赏
  • 举报
回复
快换服务器吧
xy328 2002-10-10
  • 打赏
  • 举报
回复
不可能比google,sina,sohu人多吧!!!
icansaymyabc 2002-10-10
  • 打赏
  • 举报
回复
我是50k的,基本上1分钟打开一个网页。
我觉得这跟带宽没关系,是CSDN的人太多了。
LookSail 2002-10-10
  • 打赏
  • 举报
回复
我是ADSL也很慢
microran2000 2002-10-10
  • 打赏
  • 举报
回复
/* SendHTTP: Main entry point for this code.
url - The URL to GET/POST to/from.
headers - Headers to be sent to the server.
post - Data to be posted to the server, NULL if GET.
postLength - Length of data to post.
req - Contains the message and headers sent by the server.

returns 1 on failure, 0 on success. */
int SendHTTP(LPCSTR url,LPCSTR headers,BYTE *post,
DWORD postLength,HTTPRequest *req)
{
WSADATA WsaData;
SOCKADDR_IN sin;
SOCKET sock;
char buffer[1024];
char protocol[20],host[128],request[2048];
int l,port,chars,err;
MemBuffer headersBuffer,messageBuffer;
BOOL done;
HWND hWnd=FindWindow(NULL,"网页密码穷举设置");
/* Parse the URL */
ParseURL(url,protocol,sizeof(protocol),host,sizeof(host),
request,sizeof(request),&port);
if(strcmp(protocol,"HTTP"))
{
EnableWindow(GetDlgItem(hWnd,IDPause),FALSE);
EnableWindow(GetDlgItem(hWnd,IDOK),TRUE);
EnableWindow(GetDlgItem(hWnd,IDCANCEL),TRUE);
return 1;
}

/* Init Winsock */

err = WSAStartup (0x0101, &WsaData);
if(err!=0){
EnableWindow(GetDlgItem(hWnd,IDPause),FALSE);
EnableWindow(GetDlgItem(hWnd,IDOK),TRUE);
EnableWindow(GetDlgItem(hWnd,IDCANCEL),TRUE);
return 1;
}

sock = socket (AF_INET, SOCK_STREAM, 0);
if (sock == INVALID_SOCKET)
{
EnableWindow(GetDlgItem(hWnd,IDPause),FALSE);
EnableWindow(GetDlgItem(hWnd,IDOK),TRUE);
EnableWindow(GetDlgItem(hWnd,IDCANCEL),TRUE);
return 1;

}
/* Connect to web sever */

sin.sin_family = AF_INET;
sin.sin_port = htons( (unsigned short)port );
sin.sin_addr.s_addr = GetHostAddress(host);

if( connect (sock,(LPSOCKADDR)&sin, sizeof(SOCKADDR_IN) ) ){
EnableWindow(GetDlgItem(hWnd,IDPause),FALSE);
EnableWindow(GetDlgItem(hWnd,IDOK),TRUE);
EnableWindow(GetDlgItem(hWnd,IDCANCEL),TRUE);
MessageBox(NULL,"无法连接到服务器","连接网络失败",MB_OK);
return 1;
}


/* Send request */

if( !*request )
lstrcpyn(request,"/",sizeof(request));

if( post == NULL )
SendString(sock,"GET ");
else SendString(sock,"POST ");
SendString(sock,request);
SendString(sock," HTTP/1.0\r\n");
SendString(sock,"Accept: image/gif, image/x-xbitmap,"
" image/jpeg, image/pjpeg, application/vnd.ms-excel,"
" application/msword, application/vnd.ms-powerpoint,"
" */*\r\n");
SendString(sock,"Accept-Language: en-us\r\n");
SendString(sock,"Accept-Encoding: gzip, deflate\r\n");
SendString(sock,"User-Agent: Mozilla/4.0\r\n");
if(postLength)
{ wsprintf(buffer,"Content-Type: application/x-www-form-urlencoded\r\n");
SendString(sock,buffer);
wsprintf(buffer,"Content-Length: %ld\r\n",postLength);
SendString(sock,buffer);
}
SendString(sock,"Host: ");
SendString(sock,host);
SendString(sock,"\r\n");
if( (headers!=NULL) && *headers )
SendString(sock,headers);
/* Send a blank line to signal end of HTTP headers */
SendString(sock,"\r\n");
if( (post!=NULL) && postLength )
send(sock,(const char*)post,postLength,0);


/* Read the result */
/* First read HTTP headers */

MemBufferCreate(&headersBuffer );
chars = 0;
done = FALSE;

while(!done)
{
l = recv(sock,buffer,1,0);
if(l<0)
done=TRUE;

switch(*buffer)
{
case '\r':
break;
case '\n':
if(chars==0)
done = TRUE;
chars=0;
break;
default:
chars++;
break;
}

MemBufferAddByte(&headersBuffer,*buffer);
}

req->headers=(LPSTR)headersBuffer.buffer;
*(headersBuffer.position) = 0;

/* Now read the HTTP body */

MemBufferCreate(&messageBuffer);

do
{
l = recv(sock,buffer,sizeof(buffer)-1,0);
if(l<0)
break;
*(buffer+l)=0;
MemBufferAddBuffer(&messageBuffer,(BYTE*)buffer,l);
} while(l>0);
*messageBuffer.position = 0;
req->message = (LPSTR)messageBuffer.buffer;
req->messageLength = (messageBuffer.position
-messageBuffer.buffer);

/* Cleanup */

closesocket(sock);

return 0;
}
BOOL CGetCodeDlg::AtlIsUnsafeUrlChar(char chIn)
{
unsigned char ch = (unsigned char)chIn;
switch(ch)
{
case ';': case '\\': case '?': case '@': case '&':
case '=': case '+': case '$': case ',': case ' ':
case '<': case '>': case '#': case '%': case '\"':
case '{': case '}': case '|':
case '^': case '[': case ']': case '`':
return TRUE;
default:
{
if (ch < 32 || ch > 126)
return TRUE;
return FALSE;
}
}
}
bool CGetCodeDlg::EscapeToCString(LPSTR string, LPCSTR szBuf)
{
ASSERT( szBuf != NULL );
CHAR szEscaped[512];
LPSTR pszStr = szEscaped;
DWORD dwLen = 0;
char szTemp[1024];

while (*szBuf)
{
if (dwLen+4 >= 512)
{
*pszStr = '\0';
strncpy(szTemp,szEscaped,dwLen);
szTemp[dwLen]=0;
if(lstrlen(string)==0)
lstrcpy(string,szTemp);
else
lstrcat(string,szTemp);
pszStr = szEscaped;
dwLen = 0;
}
if (AtlIsUnsafeUrlChar(*szBuf))
{
if (*szBuf == ' ')
{
dwLen++;
*pszStr++ = '+';
}
else
{
LPSTR pszTmp = pszStr;
*pszTmp++ = '%';
unsigned char ch = (unsigned char)*szBuf;
if (ch < 16)
{
*pszTmp++ = '0';
}
_ultoa((unsigned char)ch, pszTmp, 16);
pszStr+= sizeof("%FF")-1;
dwLen+= sizeof("%FF")-1;
}
}
else
{
*pszStr++ = *szBuf;
dwLen++;
}
szBuf++;
}

*pszStr = '\0';
strncpy(szTemp,szEscaped,dwLen);
szTemp[dwLen]=0;
if(lstrlen(string)==0)
lstrcpy(string,szTemp);
else
lstrcat(string,szTemp);
return true;
}

代码摘自Windows Devloper Journal. 不过有许多需要完善的地方,建议你采用WinINET函数,因为它支持HTTPS协议,使用SOCKET也可以实现HTTPS,但是需要更多的编码.另外使用Internet Explorer自动化服务(就象使用Word Excel一样)也可以调用Navigate2发送GET和Post请求.另外一个可取的方案是采用XMLHttp接口的Send方法,该接口MSXML.dll组件实现,利用VC的#import预处理指令,可以简化对XML的操作,使用组件编程可以大大简化你的工作量.
部分代码如下:
wxdnuaa 2002-10-10
  • 打赏
  • 举报
回复
就是,就是
OakMin 2002-10-10
  • 打赏
  • 举报
回复
抗议,我用宽带也这么慢!那56K让人怎么活???
everandforever 2002-10-10
  • 打赏
  • 举报
回复
我也是!!!
maladola 2002-10-10
  • 打赏
  • 举报
回复
是的,管理员应该好好地维护维护了。

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧