网上有些论坛是按登陆次数加点数的
我用CInternetSession写了一个小程序post登陆信息到服务器
实现增加登陆次数的目的
问题是这个网站不知道用的什么技术
我只能成功提交第一次用的是线程函数UINT PostThreadProc(LPVOID pParam){
while(ThreadFlag=true)
{
CInternetSession * session= new CInternetSession(); CHttpConnection* pConnection = session->GetHttpConnection,g_strServerName,(INTERNET_PORT) 80);
CHttpFile* pFile = pConnection->OpenRequest(0, g_strFile , g_strReferer, 1, NULL,NULL, INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_RELOAD); 
//提交数据到服务器; 
BOOL result = pFile->SendRequest(strHeaders,
      (LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());
if(session) delete session;
Sleep(5000);
}
return 0;
}以上是简化了的程序
我尝试过在每个循环中使用不同的代理,结果是无论成功连接多少次,服务器只接受
一次提交的数据,如果关闭程序再运行,服务器又能记数,
不知道有什么方法可以解决
请做过类似程序的大虾给个意见

解决方案 »

  1.   

    session 可能由process ID决定,所以如果N个线程进行同时投票的话,应该是可以的,因为此时session还没被记录。
      

  2.   

    但是, N个线程,不是同一个process ID吗? 难道是thread ID?
      

  3.   

    qindq(蜕叟) 我用了不同的代理还是不行
    我用其他能查IP的页面返回的字符测试过
    显示的的确是不同的IP我想跟IP应该是没有关系的
      

  4.   

    kingzai()  就算是能开N个线程同时投票
    在下一轮循环里还是不会记数
    另外  频繁的开关线程很占资源 效果也很不理想有没有办法能实现在一个线程序里循环提交?
      

  5.   

    http://www.csdn.net/Develop/Read_Article.asp?Id=11914
      

  6.   

    To  kingzai() 
    这篇文章我看过了 作者也遇到了同样的问题 没有解决
    不过还是谢谢你的帮助
    再等一天就结帖子