有哪些情景可以让CHttpFile::SendRequest出现卡住不返回? [问题点数:200分,结帖人danxuezx]

Bbs6
本版专家分:9987
结帖率 98.69%
Bbs10
本版专家分:132227
Blank
进士 2018年总版新获得的技术专家分排名前十
Blank
铜牌 2019年4月 总版技术专家分月排行榜第三
2019年3月 总版技术专家分月排行榜第三
Blank
红花 2019年4月 VC/MFC大版内专家分月排行榜第一
2019年3月 VC/MFC大版内专家分月排行榜第一
2019年1月 VC/MFC大版内专家分月排行榜第一
2018年12月 VC/MFC大版内专家分月排行榜第一
2018年11月 VC/MFC大版内专家分月排行榜第一
2018年10月 VC/MFC大版内专家分月排行榜第一
2018年9月 VC/MFC大版内专家分月排行榜第一
2018年8月 VC/MFC大版内专家分月排行榜第一
2018年5月 VC/MFC大版内专家分月排行榜第一
2018年4月 VC/MFC大版内专家分月排行榜第一
2018年3月 VC/MFC大版内专家分月排行榜第一
2018年2月 VC/MFC大版内专家分月排行榜第一
2018年1月 VC/MFC大版内专家分月排行榜第一
2017年12月 VC/MFC大版内专家分月排行榜第一
2017年11月 VC/MFC大版内专家分月排行榜第一
2017年7月 VC/MFC大版内专家分月排行榜第一
2012年7月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2018年7月 VC/MFC大版内专家分月排行榜第二
2018年6月 VC/MFC大版内专家分月排行榜第二
2017年9月 VC/MFC大版内专家分月排行榜第二
2017年8月 VC/MFC大版内专家分月排行榜第二
2017年4月 VC/MFC大版内专家分月排行榜第二
2017年3月 VC/MFC大版内专家分月排行榜第二
2017年2月 VC/MFC大版内专家分月排行榜第二
2016年8月 VC/MFC大版内专家分月排行榜第二
2016年7月 VC/MFC大版内专家分月排行榜第二
2016年6月 VC/MFC大版内专家分月排行榜第二
2015年6月 VC/MFC大版内专家分月排行榜第二
Bbs6
本版专家分:9987
Bbs11
本版专家分:267533
版主
Blank
进士 2006年 总版技术专家分年内排行榜第四
Blank
金牌 2006年4月 总版技术专家分月排行榜第一
Blank
铜牌 2006年3月 总版技术专家分月排行榜第三
Blank
微软MVP 2014年1月 荣获微软MVP称号
2009年1月 荣获微软MVP称号
2013年1月 荣获微软MVP称号
2012年1月 荣获微软MVP称号
2010年1月 荣获微软MVP称号
2011年1月 荣获微软MVP称号
2006年1月 荣获微软MVP称号
2005年1月 荣获微软MVP称号
2008年1月 荣获微软MVP称号
2007年1月 荣获微软MVP称号
2004年1月 荣获微软MVP称号
Bbs12
本版专家分:433361
版主
Blank
榜眼 2009年 总版技术专家分年内排行榜第二
2005年 总版技术专家分年内排行榜第二
Blank
进士 2018年总版新获得的技术专家分排名前十
Blank
优秀版主 优秀小版主
2015年8月优秀小版主
2015年9月优秀小版主
2015年5月优秀小版主
2015年2月论坛优秀版主
Blank
银牌 2009年7月 总版技术专家分月排行榜第二
2009年3月 总版技术专家分月排行榜第二
2009年1月 总版技术专家分月排行榜第二
2005年7月 总版技术专家分月排行榜第二
2005年5月 总版技术专家分月排行榜第二
2005年3月 总版技术专家分月排行榜第二
Bbs7
本版专家分:18482
版主
Blank
红花 2015年2月 VC/MFC大版内专家分月排行榜第一
Blank
蓝花 2015年1月 VC/MFC大版内专家分月排行榜第三
Bbs6
本版专家分:9987
Bbs11
本版专家分:267533
版主
Blank
进士 2006年 总版技术专家分年内排行榜第四
Blank
金牌 2006年4月 总版技术专家分月排行榜第一
Blank
铜牌 2006年3月 总版技术专家分月排行榜第三
Blank
微软MVP 2014年1月 荣获微软MVP称号
2009年1月 荣获微软MVP称号
2013年1月 荣获微软MVP称号
2012年1月 荣获微软MVP称号
2010年1月 荣获微软MVP称号
2011年1月 荣获微软MVP称号
2006年1月 荣获微软MVP称号
2005年1月 荣获微软MVP称号
2008年1月 荣获微软MVP称号
2007年1月 荣获微软MVP称号
2004年1月 荣获微软MVP称号
Bbs6
本版专家分:9987
解决通过CHttpFile获取远程图片,图片长度取得不准确的问题
采用CHttpFile和CInternetSession类去获取图片,如下图中红色方框中所示的方式,并不能每次都能获取到正确的远程图片长度,我的测试工控机,就始终不能获取到图片,原因可能是CHttpFile类是直接去获取图片,通过网络获取图片需要时间,因此会造成GetLength()函数不能获取到正确的数据,使用一个循环去等待也没有解决该问题,也许是计算不准确。
Chrome Extension sendMessage & sendRequest【谷歌浏览器扩展之消息通信】
嗯,标题不是翻译。         简言 content_scripts 在浏览的网页中运行(注入),background & options_page 在应用里运行,但 content_scripts 可与应用通信,窗体的交互参考前面提供的文档或官方的图和介绍这里不赘述。        前后台消息通信,刚开始接触时使用一些文档中提供的方法用不了。前后台的发送、接收消息的方式不同,长连
CHttpFile SendRequest,参数???
在http://book.wuxiawu.com/网页中,输入小说名称,比如:近身保镖,进行查询,用sniffer抓到的数据为:rnPOST /modules/article/search.php HTTP/1.1rnAccept: */*rnReferer: http://book.wuxiawu.com/rnAccept-Language: zh-cnrnContent-Type: application/x-www-form-urlencodedrnAccept-Encoding: gzip, deflaternUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)rnHost: book.wuxiawu.comrnContent-Length: 80rnConnection: Keep-AlivernCache-Control: no-cachernCookie: cck_lasttime=1259034080359; cck_count=0rnrnsearchtype=articlename&searchkey=%BD%FC%C9%ED%B1%A3%EF%DA&Submit=+%CB%D1+%CB%F7+rn然后我想获取,查询后的网页数据,这个时候,SendRequest的参数应该怎么设置:rnCString strHttpName="http://www.86zw.com/"; // 需要提交数据的页面rnCString strFormData = "searchtype=articlename&searchkey=%BD%FC%C9%ED%B1%A3%EF%DA&Submit=+%CB%D1+%CB%F7+rn"; // 需要提交的数据rnCInternetSession sess;rnCHttpFile* fileGet;rnCString strHeaders = _T("Content-Type: application/x-www-form-urlencoded"); // 请求头rnDWORD dwStatus;rnDWORD dwBuffLen = sizeof(dwStatus);rnBOOL bSuccess = fileGet->QueryInfo(HTTP_QUERY_STATUS_CODE|HTTP_QUERY_FLAG_NUMBER, &dwStatus, &dwBuffLen);rnif( bSuccess && dwStatus>= 200 &&dwStatusSendRequest(strHeaders, (LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());rn while(fileGet->ReadString(strSentence)) // 读取提交数据后的<em>返回</em>结果rn rn strGetSentence = strGetSentence + strSentence + char(13) + char(10);rn rn AfxMessageBox(strGetSentence); // 显示<em>返回</em>网页内容rnrn疑问:rn这个请求头到底是什么意思,是:("Content-Type: application/x-www-form-urlencoded"); rn还是:/modules/article/search.php HTTP/1.1rnrnPOST /modules/article/search.php HTTP/1.1,这个不是请求头的意思吗?
CHttpFile::SendRequest 302重定向
RT...!!写了一个去操作网页的软件.``! 模拟人工发包``! 有个地方``post请求后.<em>返回</em>的是个302重定向..! 当然我用的 CHttpCFile 这个类里的SendRequest成员来处理的..! 网上查过资料..! 这个函数能直接处理重定向跳转``!!直接<em>返回</em>重定向之后的页面rn最后``他<em>返回</em>的是这么一串数据..rnrnrn1f8b0800000000000400edbd07601c499625262f6dca7b7f4af54ad7e074a10880601324d8904010ecc188cde692ec1d69472329ab2a81ca6556655d661640cced9dbcf7de7befbdf7de7befbdf7ba3b9d4e27f7dfff3f5c6664016cf6ce4adac99e2180aac81f3f7e7c1f3f227ee3e4f1effaf4cb9337bfcfcbd374de2ecaf4e5574f9e9f9da41f6ddfbdfbdd7b2777ef3e7df334fdbdbffde68be7e9ee78277d5367cba6688b6a999577ef9ebef828fd68deb6ab4777ef5e5d5d8dafee8dabfae2ee9b5777df01d62e5ed65fb75befcdf1ac9d7d74445de3abf4dda25c369f45e0ec3e7cf8505e97c67936c3cf45de66846bbbdace7fd1bab8fceca3936ad9e6cb76fbcdf52aff289dca5f9f7dd4e6efdabb78fb309dceb3bac9dbcfd6edf9f6c147e95d80298be5dbb4a557b4e5b4693e4ae7757e6e51b918cf8bab6249ff1b4fab051adc9d1559595d8ce9d78fd23a2f3ffba869afcbbc99e779ab60dba22df3a3fff2effd2bffcbbff7afff2ffed43ffe3ffbfbffbcc777e533faf2ae19c3a49a5de3e7acb84ca765d6d0f8db62f5fb13a806634de9f9cfffc6bffb3ffbbbfef8ffea6fff3bffc7bfef8ffb2fffd6bff7bffc7bffc2fffa0ffe23fff33fea6ffacffe9e3fe23ffbbbfea0ffeceffa6bfe8b3fec4ffccfffb23fe3bffc73feb0fffa4ffbb3ffabbff16f246884de25bdcd5019b1cf3e5a65b359b1bcd86eabd5a3fb3bab778702fe71b15caddb74992da8cd45552d896e82c6a45dfefe7b1f296126ebb6c577c5ccb4aa96d3b298be05e09aa83c9e5527eb766febe38fef1c7e945e66e59adefa2fffe2bfe13fff1bfe1ca587c1e9ae19324fc9d16f9cfc3ff1fdaf8a7a020000rnrn<em>返回</em>的数据是我直接从内存里拿出来的`````我试过UTF8``UNICODE``ANSI编码..!! 怎么都不对..!! rnrnrn以下是我的代码..!rn[code=c]rn JQString JQtools;rnrn rn char* chBuff = JQtools.ToAnsi((LPWSTR)(LPCWSTR)Post);rn UINT len = strlen(chBuff);rnrn pFile-> SendRequest(NULL,0,chBuff, len);rn rn pFile->QueryInfoStatusCode(retcode);rnrn if (retcode == HTTP_STATUS_OK)rn rn CString m_strHtml;rn JQString strtools;rn char szBuff[0x10000];rn memset(szBuff,0,0x10000);rnrn UINT outlen = 0;rnrn UINT nRead;rn CString strTmp;rnrnrn while ((nRead = pFile->Read(szBuff,0x9000))>0)rn rn /*for(int i = 0; i < nRead; i++)rn rn if(0x00 == (byte)szBuff[i])rn rn szBuff[i] = 0x20;rn rn */rn strTmp += szBuff;rn memset(szBuff,0,0x10000);rn rn[/code]rnrn另外补充下..!!``单步过 pFile->QueryInfoStatusCode(retcode); retcode 值是200; rnnRead = pFile->Read(szBuff,0x9000))>0; nRead 值是617; 也就是接收到的实际长度rnszBuff 缓冲区里面``我开的是0x10000的数组..!! <em>返回</em>的就是上面的数据`` ``求大神告知..!rn只有这么多分了..!
CHttpFile::SendRequest问题
void CAutoBuyDlg::OnBnClickedOk()rnrnrn CString strUrl("http://www.baidu.com");rn CString strServer, strObject;rn INTERNET_PORT wPort;rn DWORD dwType;rn AfxParseURL(strUrl,dwType,strServer,strObject,wPort);rn const TCHAR szHeaders[] = _T("Accept:*/*\r\n"); rn m_HttpFile=m_HttpConnection->OpenRequest(CHttpConnection::HTTP_VERB_GET,strObject);rn m_HttpFile->AddRequestHeaders(szHeaders);rn m_HttpFile->SendRequest();rn CString tmpBuf;rn while (m_HttpFile->ReadString(tmpBuf))rn rn m_buf += "\r\n";rn m_buf += tmpBuf;rn rnrnrn代码如上,但当执行m_HttpFile->SendRequest()时,就报错,用CInternetException判断了一下,是12005,这里哪里错了啊,望指教。
CHttpFile SendRequest 程序崩溃
在我的机子上运行的很好,但换到别人电脑上就不行了。rn而且<em>可以</em>100%确定是pFile->SendRequest这一句出的问题rnrn现在应该怎么做?rn或者怎么处理异常?
CHttpFile::SendRequest()阻塞的问题
以下是我自己编写的类,使用流程大概是这样的:rn[code=c]rnHttpDownload* myDownload = new HttpDownload(m_strURL, m_strSavePath, m_iThreads, this);rnmyDownload->Download(nullptr);rn[/code]rnHttpDownload::Download()内部先调用HtppDownload::GetInfo(),通过发送一个Request获取文件信息,然后再分别创建下载进程:AfxBeginThread(ReceiveData, (LPVOID)myTask);rn在HttpDownload::GetInfo()执行过程中一切正常,但是到了HttpDownload::ReceiveData()问题就来了,所有的线程都阻塞在了"httpFile->SendRequest()"这一行上,一直到抛出异常“操作超时”。rn请教这就究竟是什么原因?rn[code=c]rn//HttpDownload.hrn#pragma oncern#include "TaskConfigFile.h"rn#include "CMultiMachineDownloadDlg.h"rnrnrnclass HttpDownloadrnrnpublic:rn HttpDownload(CString strURL, CString strSavePath, SHORT sThreadsSum, CMultiMachineDownloadDlg* pWnd);rn ~HttpDownload(void);rnrn BOOL Download(TaskConfigFile*);rn BOOL m_Stop;//暂停下载任务rn BOOL m_Finished;//下载完成rn CMultiMachineDownloadDlg* m_pWnd;//主窗口rnrnprivate:rn HttpDownload(const HttpDownload&);rnrn TaskConfigFile* m_pConfigInfo;//配置文件信息rn CString m_strSavePath;//文件保存路径rn CString m_strObject, m_strServer, m_strURL;//strServer用于保存服务器地址,strObject用于保存文件对象名称rn DWORD m_dwServiceType, m_dwStatus;//dwServiceType用于保存服务类型,dwStatus用于保存提交GET请求<em>返回</em>的状态号rn INTERNET_PORT m_nPort;//用于保存服务器端口号rn SHORT m_sThreadsSum;//线程总数rn CWinThread* m_threadsList[10];//同一任务最多支持10个线程同时下载rn CCriticalSection m_cs;//临界区rnrn BOOL GetInfor();//下载前准备,获取文件信息rn static UINT ReceiveData(LPVOID);//开始接收数据rn VOID Release();rn;rn[/code]rn[code=c]rn//HttpDownload.cpprn#include "stdafx.h"rn#include "HttpDownload.h"rn#include "ThreadTask.h"rnrn#define HTTP_STATUS_REQUEST_RANGE_NOT_STATISFIABLE 416 //服务器不支持断点续传rn#define BUFFSIZE 5120 //一次接收5KBrnrnusing std::auto_ptr;rnrnHttpDownload::HttpDownload(CString strURL, CString strSavePath, SHORT sThreadsSum, CMultiMachineDownloadDlg* pWnd): rn m_strURL(strURL), m_strSavePath(strSavePath),m_pConfigInfo(nullptr), m_sThreadsSum(sThreadsSum), m_Stop(FALSE), m_pWnd(pWnd), m_Finished(FALSE)rnrn ::AfxParseURL(m_strURL, m_dwServiceType, m_strServer, m_strObject, m_nPort);rn for(SHORT i = 0; i < sThreadsSum; ++i)rn rn m_threadsList[i] = nullptr;rn rnrnrnHttpDownload::HttpDownload(const HttpDownload& hd)rnrnrnrnHttpDownload::~HttpDownload(void)rnrn Release();rnrnrnVOID HttpDownload::Release()rnrn if(m_pConfigInfo)rn rn delete m_pConfigInfo;rn m_pConfigInfo = nullptr;rn rnrn for(int i =0; i < m_sThreadsSum; ++i)rn rn if(m_threadsList[i])rn delete m_threadsList[i];rn rnrnrnBOOL HttpDownload::GetInfor()rnrn CInternetSession innetSession;rn auto_ptr pHttpFile;rn auto_ptr pHttpConn;rn rn tryrn rn pHttpConn.reset(innetSession.GetHttpConnection(m_strServer, m_nPort));rn pHttpFile.reset(pHttpConn->OpenRequest(CHttpConnection::HTTP_VERB_GET, m_strObject));rn if(!pHttpFile.get())rn rn#ifdef DEBUGrn TRACE("Open request error!\n");rn ::AfxMessageBox(_T("Open request error!\n"));rn#endifrn innetSession.Close();rn return FALSE;rn rnrn CString strRange(_T("Range: bytes=10-\r\n"));//用于判断服务器是否支持断点续传rn if(!pHttpFile->AddRequestHeaders(strRange))rn rn#ifdef DEBUGrn TRACE("AddRequestHeaders() error.\n");rn#endifrn rn if(!pHttpFile->SendRequest())rn rn#ifdef DEBUGrn TRACE("SendRequest()) error.\n");rn#endifrn rn pHttpFile->QueryInfoStatusCode(m_dwStatus);rn if(m_dwStatus >= 200 && m_dwStatus < 300)//请求成功rn rn DWORD dwFileSize;rn pHttpFile->QueryInfo(HTTP_QUERY_CONTENT_LENGTH, dwFileSize);rn m_pConfigInfo = new TaskConfigFile(m_strURL, m_strSavePath, dwFileSize, m_sThreadsSum);rn m_pConfigInfo->m_strFileName = pHttpFile->GetFileName();rn m_pConfigInfo->m_strSavePath += pHttpFile->GetFileName();rn //Download();rn rn else//单线程rn rn#ifdef DEBUGrn TRACE("Send request error!\n");rn ::AfxMessageBox(_T("服务器不支持断点续传!"));rn#endifrn m_sThreadsSum = 1;//单线程下载rn DWORD dwFileSize;rn pHttpFile->QueryInfo(HTTP_QUERY_CONTENT_LENGTH, dwFileSize);rn m_pConfigInfo = new TaskConfigFile(m_strURL, m_strSavePath, dwFileSize, m_sThreadsSum);rn m_pConfigInfo->m_strFileName = pHttpFile->GetFileName();rn m_pConfigInfo->m_strSavePath += pHttpFile->GetFileName();rn rn rnrn rn catch(CInternetException* internetEx)rn rn internetEx->ReportError();rn internetEx->Delete();rn innetSession.Close();rn rn catch(CException* e)rn rn e->ReportError();rn e->Delete();rn innetSession.Close();rn rnrn innetSession.Close();rn return TRUE;rnrnrnUINT HttpDownload::ReceiveData(LPVOID pParam)rnrn CHAR* pBuff(nullptr);rn auto_ptr pTaskInfo(static_cast(pParam));rn auto_ptr httpFile;rn CInternetSession session;rn#ifdef DEBUGrn DWORD dwThreadID;rn dwThreadID = ::GetCurrentThreadId();rn#endifrnrn tryrn rn //统一以二进制流传输rn DWORD dwFlags = INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE;rn CString strRange;rn DWORD dwStatus(0);rn ULONGLONG sizeValue(0);//本分块已下载的大小rn pTaskInfo->m_downloadInfor->m_pConfigInfo->m_mapBlockDownloadedSize.Lookup(pTaskInfo->m_blockStart, sizeValue);rn ULONGLONG start(pTaskInfo->m_blockStart + sizeValue);rn ULONGLONG end(pTaskInfo->m_blockStart + pTaskInfo->m_downloadInfor->m_pConfigInfo->m_lBlockSize);rn if(pTaskInfo->m_isLastBlock)rn strRange.Format(_T("Range: bytes=%llu-\r\n"), start);rn else rn strRange.Format(_T("Range: bytes=%llu-%llu\r\n"), start, end);rnrn httpFile.reset(static_cast(session.OpenURL(pTaskInfo->m_downloadInfor->m_pConfigInfo->m_strLink, 1, dwFlags)));rn if(!httpFile->AddRequestHeaders(strRange))rn rn#ifdef DEBUGrn TRACE("AddRequestHeaders() error.\n");rn#endifrn rn if(!httpFile->SendRequest())rn rn#ifdef DEBUGrn TRACE("SendRequest()) error.\n");rn#endifrn rn httpFile->QueryInfoStatusCode(dwStatus);rnrn if(dwStatus >= 200 && dwStatus < 300)//请求成功rn rn CFile downloadFile(pTaskInfo->m_downloadInfor->m_pConfigInfo->m_strSavePath, CFile::modeCreate | CFile::modeWrite | CFile::shareExclusive);rn CFile configFile(pTaskInfo->m_downloadInfor->m_pConfigInfo->m_strSavePath + ".tmp", CFile::modeCreate | CFile::modeWrite| CFile::shareExclusive);rn CArchive ar(&configFile, CArchive::store);rn UINT dwRead(1);rn DWORD dwDownloadStatus;rnrn //downloadFile.SetLength(pTaskInfo->m_downloadInfor->m_pConfigInfo->m_lFileSize);rn downloadFile.Seek(start, CHttpFile::begin);rn pBuff = new CHAR[BUFFSIZE];rn#ifdef DEBUGrn TRACE("Thread %d, starting download......\n", dwThreadID);rn#endifrn while(dwRead && !pTaskInfo->m_downloadInfor->m_Stop)rn rn ::ZeroMemory(pBuff, BUFFSIZE);//清空缓冲区rn dwRead = httpFile->Read(pBuff, BUFFSIZE);rn#ifdef DEBUGrn TRACE("Thread %d, received %llu byte!\n", dwThreadID, dwRead);rn#endifrn pTaskInfo->m_downloadInfor->m_cs.Lock();//进入临界区rn downloadFile.Write(pBuff, dwRead);rn dwDownloadStatus = pTaskInfo->m_downloadInfor->m_pConfigInfo->AddDownloadedSize(pTaskInfo->m_blockStart, sizeValue);//更新已下载的大小rn if(DOWNLOAD_FINISHED == dwDownloadStatus)rn pTaskInfo->m_downloadInfor->m_Finished = TRUE;rn pTaskInfo->m_downloadInfor->m_pConfigInfo->Serialize(ar);//保存文件信息rn pTaskInfo->m_downloadInfor->m_cs.Unlock();//离开临界区rn rnrn#ifdef DEBUGrn TRACE("Thread %d download finished!\n", dwThreadID);rn#endifrn downloadFile.Close();rn configFile.Close();rn rn elsern rn#ifdef DEBUGrn TRACE("Request error in ReceiveData funtion!\n");rn ::AfxMessageBox(_T("fuck!"));rn#endifrn rn rn catch (CMemoryException* e)rn rn e->ReportError();rn e->Delete();rn delete[] pBuff;rn rn catch (CFileException* e)rn rn e->ReportError();rn e->Delete();rn delete[] pBuff;rn rn catch (CException* e)rn rn e->ReportError();rn e->Delete();rn delete[] pBuff;rn rnrn delete[] pBuff;rn if(pTaskInfo->m_downloadInfor->m_Finished == TRUE)rn rn ::PostMessage(pTaskInfo->m_downloadInfor->m_pWnd->m_hWnd, WM_USER_DOWNLOAD_FINISHED, 0, (LPARAM)pTaskInfo->m_downloadInfor);rn rn return 0;rnrnrnBOOL HttpDownload::Download(TaskConfigFile* configInfo)rnrn if(!GetInfor())rn ::AfxMessageBox(_T("无法获取文件信息,请确认下载链接是否有错。"));rn if(configInfo)rn m_pConfigInfo = configInfo;rn POSITION pos = m_pConfigInfo->m_mapBlockDownloadedSize.GetStartPosition();rn for(SHORT i = 0; i < m_sThreadsSum; ++i)rn rn ThreadTask* myTask = new ThreadTask(this);rn m_pConfigInfo->m_mapBlockDownloadedSize.GetNextAssoc(pos, myTask->m_blockStart, myTask->m_blockSize);rn if(i == m_sThreadsSum -1)rn myTask->m_isLastBlock = TRUE;rn m_threadsList[i] = ::AfxBeginThread(ReceiveData, (LPVOID)myTask);rn#ifdef DEBUGrn TRACE("Thread %d start...\n", m_threadsList[i]->m_nThreadID);rn#endifrn rn return TRUE;rnrnrn[/code]
CHttpFile::SendRequest的参数问题?
BOOL SendRequest( CString& strHeaders, LPVOID lpOptional = NULL, DWORD dwOptionalLen = 0 ); rnrn请问strHeaders和lpOptional的格式该如何写?rnrn假设我要发送一个cookie:test=123,一个form数据 name=345
CHttpFile多次SendRequest阻塞
SendRequest rnwhile()rnrnfileGet->SendRequest(strHeaders, (LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());rnrn]rnstrFormData数据大小变了 在第二次变阻塞了。rnrn如果大小不变,正常。rn为什么
CHttpFile::SendRequest的问题
问题怎么捕获pHttpFile->SendRequest();(// SetWindowText("正在获取网页"+sURL+"的代码");rn CInternetSession internetSession;rn CHttpConnection* pHttpConnection = NULL;rn CHttpFile* pHttpFile = NULL;rn CString strServer, strObject;rn DWORD dwServiceType = 0;rn DWORD dwHttpRequestFlags = INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_NO_AUTO_REDIRECT;rn TCHAR szHeaders[] = _T("Accept: text/*\r\nUser-Agent: LCD's Sample Http Client\r\n");rn INTERNET_PORT nPort;rn int nRet = 0;rn rn nRet = AfxParseURL( (LPCTSTR)sURL, dwServiceType, strServer, strObject, nPort );rn if( !nRet || dwServiceType != INTERNET_SERVICE_HTTP )rn rn fileContent.Empty();rn time=CTime::GetCurrentTime();rn strtime=time.Format("%Y %B %d %H:%M:%S");rn ::WritePrivateProfileString("网络日志","时间:"+strtime,"事件:不能保存请求保存 "+sURL+" 上的网页的源代码",m_param.str_SysLog);rn return FALSE;rn rnrn pHttpConnection = internetSession.GetHttpConnection( strServer, nPort );rn pHttpFile = pHttpConnection->OpenRequest( CHttpConnection::HTTP_VERB_GET, strObject, NULL, 1, NULL, NULL, dwHttpRequestFlags); rn pHttpFile->AddRequestHeaders( szHeaders );rn pHttpFile->SendRequest();// QueryInfoStatusCode( dwRet );rn if( dwRet == HTTP_STATUS_DENIED )rn rn fileContent.Empty();rn rn time=CTime::GetCurrentTime();rn strtime=time.Format("%Y %B %d %H:%M:%S");rn ::WritePrivateProfileString("网络日志","时间:"+strtime,"事件: "+sURL+"连接被拒绝",m_param.str_SysLog);rn return FALSE;rn rnrn CString string, prefix, suffix, path, sCopy, sTemp, strFilePath;rn int iStart = 0, iEnd = 0;rn rn strFilePath = sURL.Left( ( sURL.ReverseFind( '/' ) ) );rn rn fileContent.Empty();rn while( pHttpFile->ReadString( string ) )rn rn fileContent += "\r\n" + string;rn rn pHttpFile->Close();rn pHttpConnection->Close();rn delete pHttpFile;rn delete pHttpConnection;rn //===============================================rn fileContent.MakeLower();rn //===============================================rn if(fileContent.Find(" 404 not found",0)!=-1&&fileContent.Find("was not found on this server.",0)!=-1rn &&fileContent.GetLength(),pos1);rn pos1 +=6;rn pos2 -=pos1;rn fileContent.Delete(pos1,pos2);rn rn rn rn return TRUE;rn
安装Unity3D过程中遇到 'SendRequest Error' 的问题
安装Unity3D的时候遇到了这个问题: Unity Download Assistant Error: ‘SendRequest Error’ while downloading ini file from http://files.unity3d.com/bootstrapper/… (此时我安装的不是官网上最新的版本,官网更新到了3.8,我直接从同学那里拷贝了3.7版本的,没想到这居然是一个...
CHttpFile方法SendRequest超时设置
当要连接的服务器连不上时,SendRequest会阻塞一会才<em>返回</em>,rn我想让它5秒钟内<em>返回</em>,请问如何设置?
CHttpFile SendRequest 发送数据,问题很严重
1、HTTP头我只加了如下两个:rnpFile -> AddRequestHeaders(_T("Content-Type: application/x-www-form-urlencoded; charset=UTF-8")); rnpFile -> AddRequestHeaders(_T("Accept: */*"));rn抓包能抓到所有的,但是对方只接收到一部分。rnrn2、如果我想发送ANSI格式的字符流该如何设置HTTP头呢??rn 头设置_T("Content-Type: application/x-www-form-urlencoded; charset=UTF-8")rn 是不是说明发过去的就是UTF8格式的,那我想发送ANSI格式的,如何处理呢?rn
关于CHttpFile SendRequest引起的内存问题?
用VS2010写了一个MFC的程序,向服务器上POST数据,然后将<em>返回</em>的数据保存在文件中。rn如果文件较小的话,没有问题,<em>可以</em>正常使用。但是当文件较大时候,程序就崩溃了。错误类似于:rn[img=http://wenwen.soso.com/p/20101123/20101123122456-1878733282.jpg][/img]rn调试了一下,错误输出的是:rn0x75f6d36f 处最可能的异常: Microsoft C++ 异常: 内存位置 0x04aeec78 处的 CInternetExceptionrnrn异常部分代码如下:rn[code=C/C++] rnCInternetSession m_Session;rnCHttpConnection* m_Server = m_Session.GetHttpConnection(_T("xxx.xxx.com"), (INTERNET_PORT)80);rnCHttpFile* m_File = m_Server->OpenRequest(CHttpConnection::HTTP_VERB_POST, url);rnCString strHeader = _T("Content-Type: application/x-www-form-urlencoded\r\n"); rnm_File->SendRequest(strHeader, (LPVOID)(LPCTSTR)strRequest, strRequest.GetLength());[/code]rn有人遇到过这个错误么?求高手指点啊。。rn
问个关于CHttpFile::Sendrequest()的问题
tryrn m_pHttpFile->SendRequest();rn catch( CInternetException* pCE )rn rn pCE->Delete();rn return ERROR_HTTP_DOWNFILE_SENDREQUEST_FAILED;rn rn得到错误12029rn会是什么原因?
CHttpFile SendRequest Post 没有数据
[code=c]rnstrTemp.Format(_T("guid=%s&title=iiiiiiii&linkman=llllllllll&telephone=ttttt&address=aaaaaa&wcpip=ccccc&wfpip=ffffff"),m_strGUID);rnrn //HINSTANCE hs = ShellExecute(NULL,_T("open"),strTemp,NULL,NULL,SW_HIDE);rn tryrn rn CString strServerName; rn CString strObject; rn INTERNET_PORT nPort; rn DWORD dwServiceType; rn if(!AfxParseURL((LPCTSTR)m_strWebService, dwServiceType, strServerName, strObject, nPort))rn rn MessageBox(_T("不是有效的网络地址!"));rn return;rn rn CString strFormData = strTemp; rn CInternetSession session; rn CHttpConnection* pConnection = session.GetHttpConnection(strServerName,nPort);//_T("192.168.1.216"),(INTERNET_PORT)80);rn if (pConnection==NULL)rn rn MessageBox(_T("连接失败!"));rn return;rn rn CHttpFile* pFile = pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,strObject,NULL,1,NULL,_T("HTTP/1.1"),INTERNET_FLAG_EXISTING_CONNECT|INTERNET_FLAG_NO_AUTO_REDIRECT);//_T("/wcp1/webservices/admin/unitwebservice.asmx/SaveUnit")); rn if (pFile==NULL)rn rn MessageBox(_T("找不到网络地址!"));rn return;rn rn CString strHeaders = _T("Content-Type: application/x-www-form-urlencoded");rn pFile->AddRequestHeaders(strHeaders);rnrn BOOL result = pFile->SendRequest(strHeaders,(LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());rnrn DWORD dwRet;rn pFile->QueryInfoStatusCode(dwRet);rnrn if(dwRet != HTTP_STATUS_OK)rn rn CString errText;rn errText.Format(_T("POST出错,错误码:%d"), dwRet);rn AfxMessageBox(errText);rn rn[/code]rn<em>返回</em>的状态码是200,没有报错,可抓包看数据,没有数据rn求大神找问题
MFC CHttpFile不带缓存读取数据
CInternetSession c ; CHttpFile * p=NULL ; p=(CHttpFile*)c.OpenURL(m_Url.GetBuffer(),1,INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_RELOAD,NULL,0); //打开一个URL CString str ; CString strinfo= TEXT("");
使用 CInternetSession ,CHttpFile下载文件引起内存泄漏
最近在使用 CInternetSession 和CHttpFile下载更新程序,遇到内存泄漏。发现使用了CHttpFile::Close后,依然会<em>出现</em>内存泄漏。还要再delete一下,才算是真正的把资源释放掉。 DWORD CMyFun::GetUrlFileLength(LPCTSTR szUrl) {  CInternetSession session;   CHttpFile
CHttpFile 设置cookie总是失败的疑问的处理
CHttpFile 设置cookie的疑问 我在模拟给百度发get数据 http://www.baidu.com/s?wd=123 想加入Cookie: BAIDUID=11111111111111111111111111111111:FG=1; USERID=222222222222222222222222; J_MY=1 但是抓包怎么都看不到这个信息。 C/C
使用CInternetSession 获取网页内容。。。解决了ReadString时的乱码
CInternetSession session; CHttpFile *file = NULL; CString strURL = _T("http://www.baidu.com"); CString strHtml = _T(""); //存放网页数据 try { file = (CHttpFile*)session.OpenURL(strURL); } catch(CInternetExc
请问CHttpFile::SendRequest的参数问题?
假设我要发送一个cookie:test=123,一个form数据 name=345 ,请问strHeaders和lpOptional的格式该如何写?rnrn其他的报文头Accept: Referer: Accept-Language: Content-Type: Accept-Encoding: User-Agent: Host: Content-Length: Connection:等我都会填写
关于CHttpFile::SendRequest无响应的BUG ?
我用WinInet写了一个WEB后台的客户端,大致代码如下:rnrntryrnrn OpenUrl...rn SendRequest...rn rn ReadFile...rnrnrncatchrnrnrnrn然后我在里面增加一个log记录这个函数的每一步动作 ,发现有些客户端电脑没问题,而有的客户端电脑在[color=#FF0000]SendRequest[/color]这里就挂起了!rnrn求解?
CHttpFile下载文件小例子
利用MFC类里CHttpFile CInternetSession CFile 等实现网络下载功能
MFC 下载网络文件到本地 利用 CHttpFile 和 URLDownloadToFile 【可设超时及进度】两种方式
说明 方法1较为简单,通用的多,但在某些环境下可能<em>出现</em>未知错误(也有可能你碰不到,反正我是碰到了)。 方法2实现相对麻烦点,但可设置超时时间以及进度展示,但要实例化一个LPBINDSTATUSCALLBACK 子类,在这个子类中去实现。这个相对好用点,方法1遇到的错误的情况,用方法2却<em>可以</em>正常使用。 LPBINDSTATUSCALLBACK 这个子类代码没有贴出来,放在文未,可点击下载。 ...
一个简单的HTTP通讯的例子,使用了CInternetSession,CHttpConnection,CHttpFile三个类。
void CBaseHttpDlg::OnBnClickedGet() { // TODO: 在此添加控件通知处理程序代码 UpdateData(); CString txt; m_RichEditHttpRespone.GetWindowText(txt); CInternetSession InterSession; CHttpConnection* con = InterSession.GetHttpConnection(m_strURL);
CHttpFile::SendRequest POST提交 为什么返回页面是乱码
[code=C/C++] pFile->SendRequest(NULL,0,szFormData.GetBuffer(0),szFormData.GetLength());rn DWORD StatusCode;rn pFile->QueryInfoStatusCode(StatusCode);rn if(StatusCode == HTTP_STATUS_OK)rn rn CString login;rn CString login_html;rn while (pFile->ReadString(login))rn rn login_html += login +"\r\n"; rn rn rn AfxMessageBox(login_html);[/code]为什么<em>返回</em>的页面是乱码,如果是GET 就没问题。rn
Requests卡死问题
之前写出了一个多线程爬取壁纸程序后,发现有的线程会在打开某张图片的链接时<em>卡住</em>(似乎一般是在打开的图片比较大的时候),报错也不报,许久都不能恢复。。网上的做法是使用socket.setdefaulttimeout(时间)来解决,但亲测并无卵用。另外<em>可以</em>设置timeout参数来防止requests时间过长,同时还<em>可以</em>捕捉错误信息然后让再让其requests多几次: try: downloadPic...
关于html语言中的元素标签有哪些是直接闭合的,而不是成对出现
-
http请求返回302处理方案
http发送淘宝客短链,请求<em>返回</em>302重定向,需要经过几次跳转后,最终得到请求<em>返回</em>内容。代码如下:import java.net.HttpURLConnection; import java.net.URL; import java.net.URLDecoder; import java.util.regex.Matcher; import java.util.regex.Pattern;/**
关于CHttpFile::SendRequest操作超时的问题
急急急!rn给公司写了一个自动升级的程序,我在网上下载的源码,然后财此基础上修改的一些东西.rn之前,分别在我的三台本本上面,都<em>可以</em>正常连接服务器并下载要下载的文件,(PS:其中一台机子是才装的裸系统).rn可是换到公司里,公司的每一个人运行程序都会报The Operation timed out!的错误.我查了很久,不知道是什么原因造成的.rn自动升级程序首先公司web服务器读取一个ini文件到缓冲区,然后写到系统临时文件目录下的update.ini文件内,然后从该文件内读取服务器版本,以及要下载的文件。我查看了一下,有些同事能够读取到配置文件,但是无法下载配置文件里罗列的下载文件。也是同样的The Operation timed out! 真的快崩溃了。rn以下是部分源码,请高手帮帮忙呀,真是急死人了!rn UpdateData(FALSE);rn CHttpFile *pFile = m_pHttp->OpenRequest(CHttpConnection::HTTP_VERB_GET, rn m_strIniPath, NULL, 1, NULL, NULL, m_dwHttpRequestFlags); rn if(!pFile->SendRequest())rn rn m_strStatus="连接服务器失败!";rn UpdateData(FALSE);rn pFile->Close();rn return;rn rn用到了CInternetSession , CHttpConnection 这两个类
子线程中的CHttpFile ->SendRequest()函数问题。
我在子线程中执行如下执行这个函数,总是有问题。rn子线程是连续运行的。也就是说这个函数被循环执行,运行一段时间以后就出问题。rntryrnrnbRet = pHttpFile ->SendRequest(strHeader);rnpHttpFile->QueryInfoStatusCode(dwRet);rnrncatch(CException &e)rnrnTRACE("in httpMethod Sendquest");rnpHttpFile->Close();rndelete pHttpFile;rne.Delete();rnreturn NULL;rn<em>出现</em>的错误捕捉不到。为什么?rn3x in advance.rn
【总结,持续更新】java常见的线程不安全,你以为的线程安全
多线程问题,主要是多线程执行时的顺序是随机的,无法保证同一代码的执行顺序,任意两步代码(非原子)操作都存在安全问题以下常见的线程安全问题:1. 锁在StringString str=&quot;a&quot;;synchronized(str){str = &quot;b&quot;;  //str变为一个新对象,锁失效,字符的赋值是新new一个String然后赋值的}2. i++,使用java.util.concurrent.atom...
jdbcTemplate.queryForObject无法返回数据,页面卡住
今天碰到一个超级奇怪的问题,就是点击我之前的查询页面,结果页面停在了请稍后的死循环中,无法进行下一步操作。 于是我设了断点,走到我的jdbcTemplate.queryForObject这个方法时,无法return,导致我下一步无法进行,所以我以为是queryForList 使用错误,找了一大堆范例进行尝试,都以失败告终。   于是我开始从sql语句下手,反复在SQL Workbench执行
未来有几种?聊聊气候情景(climate scenarios)的故事
人类一直想预测未来,从一开始就想。 帝王想知道国运长不长久,将军想知道出征是否能凯旋,而民众也想知道明天股票是涨是跌。预测有很多种方法,有的<em>可以</em>用科学解释,有的,呃,可能不行。然而未来有很多种,比如说你每天吃三顿饭,我<em>可以</em>预测你明天也吃三顿,但是如果你明天中午才起床,就吃了两顿饭怎么办?或者算命的先生说你明年命里有桃花,能牵手个好妹子,结果你第二天就被机油掰弯了怎么办?所以无论是我还是算命先
CHttpFile SendRequest 会抛出什么类型的异常?
[code=C/C++]rncatch(CInternetException& e)rn rn ASSERT(FALSE);rn DWORD dwErrCode = e.m_dwError;rn return FALSE;rn rn catch(CException& e)rn rn ASSERT(FALSE);rn return FALSE;rn rn catch(...)rn rn ASSERT(FALSE);rn return FALSE;rn rn[/code]rnrn我的这三个过滤器 只有catch(...)能抓到异常 请问异常到底SendRequest抛出来的是什么异常?rnrn另外 想知道有没有一款工具 <em>可以</em>搜索文件内容(不是搜索文件名称) XP有 但是似乎Win7里面没找见
VC下CHttpFile.ReadString 中文读取乱码的编码方法
//UTF-8 to GB2312 CString WebProcess::Convert(CString str,int sourceCodepage, int targetCodepage){ int len = str.GetLength(); int unicodeLen = MultiByteToWideChar(sourceCodepage,0,str,-1,NULL,0...
mysql_store_result()函数卡住返回
直接调用mysql_store_result没有问题,而封装在一个函数当中,再调用它就不行了,请问各位前辈高人,这是为何
java内存泄漏的几种情景
  一、Java内存回收机制 不论哪种语言的内存分配方式,都需要<em>返回</em>所分配内存的真实地址,也就是<em>返回</em>一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通过垃圾回收机制完成的。GC为了能够正确释放对象,会监控每个对象的运行状况,对他们的申请、引用、被引用、赋值等状况进行监控,Java会使用有向...
c++中函数的返回值和传引用参数
通常,一个函数只能<em>返回</em>一个值,但有时候函数需要在程序中改变多个值。 首先,你得懂得引用的概念。我用代码来简易地说明一下: int i=0,a=1; int &amp;r=a; // 这一步的意思为r绑定了a; cout&lt;&lt;r&lt;&lt; endl; //此时r值为1 r=4; cout&lt;&lt;r&lt;&lt;" "&lt;&lt;a&lt;&lt;endl;...
使用CHttpFile上传下载文件
1.使用CHttpFile上传下载文件(类) http://blog.sina.com.cn/s/blog_46d93f190100ndca.html http://blog.csdn.net/cyforce/article/details/6195664
使用CHttpFile上传下载文件(类)
源码: 头文件(HttpFileClient.h) #pragma once   #define  __BUFFER_SIZE 1024 class CHttpFile; class CHttpFileClient { public:  CHttpFileClient(void);  ~CHttpFileClient(void); public:  BOOL UploadF
地图随意搜---情景地图
打破框的局限,让地图使用户的生活更方便
使用CInternetSession和CHttpFile读取网页内容
http://www.cppblog.com/AutomateProgram/archive/2010/06/16/118030.html 读取网页的内容<em>可以</em>类比本地的文件一下,代码如下: #include   CString url;     GetDlgItemText(IDC_EDIT1,url);     CInternetSession Sess;     CHt
web项目出现乱码的几种解决方案
解决Java WEB开发过程中后台接受前台的中文信息乱码问题,有四个方法,记录一下,方便以后自己查找,也方便大家。 首先:   并且 request.setCharacterEncoding("gb2312"); 第二:  配置 server.xml。       第三: 配置 web.xml       setEncoding   com.dinner.
如何解决超链接被点击后hover样式不出现问题
解析: 当超链接被点击后,经常会<em>出现</em>hover样式效果不显示的问题。解决这个问题其实很简单,只要对超链接的样式属性进行正确的排序即可。排列顺序如下:link -> visited -> hover ->action参考设置:a:link{ color:red; text-decoration:none; } a:visited{ color: blue; text-
线程不安全的场景《多线程核心技术》
实例变量线程不安全,方法中的变量始终是线程安全的。     多个线程调用同一个实例时,JVM创建一个锁,即使synchronized 修饰的方法,但实际锁的是对象。线程调用的不是一同实例,则没有同步效果,是异步,即多线程多锁。...
缓存在哪些业务场景中会用到?
一、缓存概述 缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。你<em>可以</em>理解为从磁盘里取出来数据,暂时存放在内存,以待后面处理来读取。而能存放在缓存的数据,通常是频繁访问的,不会经常修改的数据。 二、缓存的原理 将数据写入/读取速度更快的存储(设备); 将数据缓存到离应用最近的位置; 将数据缓存到离用户最近的位...
CHttpFile 获取URL重定向后的文件名
// 获取URL重定向后的文件名,如果没有重定向,也<em>返回</em>下载文件名 CString GetFileNameFromRedirectUrl(CString strUrl) { CInternetSession iSession; CStdioFile* pFileDo
关于调用MFC CHttpFile Seek函数抛异常的问题
主要是因为OpenResquest参数 dwFlags 不要用INTERNET_FLAG_DONT_CACHE 就好了
json 数据类型返回值区别
JSONObject <em>返回</em>一个实体值 ,取值jsonobject.optString("xx"); JSONArray <em>返回</em>一个list集合值,取值jsonArray.optJSONObject(i).getString("xx");
情景领导力培训感想
今天周六,参加了开年后第一场培训《情境领导力》,有几点深有感触,特此记下。 第一点,领导和管理的区别 从对象上来看,管理的对象是事务,而领导的对象是人。管理最重要的是认识到事务都需要有标准和最终结果要区分对错。领导最重要的认识是每个人都是独立的和对待每个人需要合理恰当(有点以人为本的观念)。管理常用的方法是控制,针对的是事务。比如时间管理,就是控制自己的时间安排,质量管理就是管理好产品的质量,...
VC++6.0 通过HTTP方式获取网页 OpenURL
//头部包含afxinet.h  2  #include afxinet.h>  3 CInternetSession::OpenURL函数原型为:  4 CStdioFile* OpenURL( LPCTSTR pstrURL, //文件URL地址  5   DWORD dwContext = 1, //上下文ID  6   DWORD dwFlags = INTERNET_FLAG_
Java中内存泄露场景
一、什么是内存泄露,为什么会<em>出现</em>内存泄露     内存泄露是指不再使用的对象由于仍然被其他对象引用导致垃圾收集器不能及时释放这些对象占用的内存从而造成内存空间浪费的现象。从内存泄露的概念我们知道了之所以产生内存内漏,是因为长生命周期的对象持有短生命周期对象的引用,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用,会导致短生命周期对象不能被回收,举个例子更详细的说明一下。 ...
typeof返回哪些数据类型
typeof 运算符<em>返回</em>一个用来表示表达式的数据类型的字符串。  可能的字符串有:"number"、"string"、"boolean"、"object"、"function" 和 "undefined"。  2、常用<em>返回</em>值说明 表达式 <em>返回</em>值 typeof undefined 'undefined' typeof null 'object'
如何让函数一次性返回得个值C++
引言:在函数执行到return语句时,将不再向下执行,那么如何让函数一次性<em>返回</em>多个值? 一般<em>可以</em>用两种方式解决这个问题,利用指针和利用结构体。1.利用指针 直接上代码:#include &amp;lt;iostream&amp;gt; using namespace std; int main() { int* test(int,int,int); int * result =test(1,2,...
使用ReadFile程序崩溃的原因
在使用这个函数的时候,很多人都不会特意的去看MSDN文档后面的Remarks解释,所以可能有时候会出问题,而且不知道出在哪里。这两个函数的其它参数就不详细解释了,就说说lpNumberOfBytesRead这个参数。MSDN原文:When a read operation reaches the end of a file, this function returns TRUE and sets *
Python易错点整理——for和else的搭配使用、global的使用
今天编程时遇到了一些Python中易犯的错误,总结如下: 一、for和else的搭配使用: 在Python中for循环<em>可以</em>和else搭配使用,但是有些细节地方容易出错,比如: for i in xrange(1,10): if i == 1: print("Yes") else: print("No") 你可能打算希望程序最终输出Yes,但是在这个程序段中最终输出的是Yes和N
【Hibernate】query查询不报错卡住不动不往下执行的解决办法
【项目问题记录】 一.数据库 表:goods 字段:id | name | price 二.项目代码 2.1 实体类: @Entity @Table(name="goods") public class Goods { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id;
sess.run()踩过的坑
最近在做图像重建方面的论文复现,其中psnr是一个很重要的指标,tensorflow有写好的代码:tf.image.psnr()直接调用就好,里面的参数<em>可以</em>是tensor也<em>可以</em>是uinit8,复现中我选择了使用tensor进行计算psnr。下面是我的坑,图像重建效果还是很好,利用原图像和未重建图像求的psnr还是挺正常的,接近23db,但是利用重建图像和原图像求的psnr居然仅仅是17db左右,s...
内存泄漏有哪些场景以及解决方法
类的静态变量持有大数据对象 静态变量长期维持到大数据对象的引用,阻止垃圾回收。 非静态内部类存在静态实例 非静态内部类会维持一个到外部类实例的引用,如果非静态内部类的实例是静态的,就会间接长期维持着外部类的引用,阻止被回收掉。 资源对象未关闭 资源性对象比如(Cursor,File文件等)往往都用了一些缓冲,我们在不使用的时候,应该及时关闭它们, 以便它们的缓冲及时回收内存。它
在JS中typeof返回的结果有哪几种?
JS中typeof<em>返回</em>结果有六种如下: number (数字)boolean(布尔)string(字符串)object(对象)function(函数)undefined(未定义)
一张照片让你的安卓手机崩溃
废话少说,直接上图, 使用方法: 将图片保存到电脑,用电脑发送到QQ、微信等,当别人用安卓手机查看这幅图时,他的QQ、微信就会闪退了。 拯救方法: 多发点消息刷屏,让对方打开QQ、微信时看不到这张图片就Ok了。 注:仅供娱乐、研究,切勿恶搞,恶意使用所带来的一切后果自负! 欢迎个人转载,但须在文章页面明显位置给出原文连接; 未经作者同意必须保留此段声明、不得随意修改原文、不得用
英语面试对话场景
I : Interviewer (面试者) A : Applicant (求职者) 教育背景:简明扼要,实话实说尽管你在简历中对自己的教育背景作了介绍,但在面试时,面试官还有可能就此方面提问。还是事先做点准备吧。 ①I:what is your major? A:My major is Business Administration. I am especiall...
在C++中,为什么构造函数不能有返回值?
 在C++中,为什么构造函数不能有<em>返回</em>值?   (1)假设有一个类C,有如下定义:class C{public:   C():x_(0) {}   C(int i):x_(i) {}private:   int x_;};如果C的构造函数<em>可以</em>有<em>返回</em>值,比如int:   int C():x_(0) { return 1; //1表示构造成功,0
常见内存泄漏场景以及处理方式
常见内存泄漏场景以及处理方式 不合理的单例模式、静态Activity、Context等 原因:Activity销毁时,SingleInstance仍持有Activity的对象的引用(mContext),导致Activity对象不能释放。 解决:可使用Application的Context代替Activity。 持有Activity内的静态View 原因: 某静态View持有Activit...
如何通过VC的 CHttpFile 抓取网页内容
在点击一个按钮时开始请求你输入的地址。 void CHttpFileDlg::OnButton1()  {    CString url;    GetDlgItemText(IDC_EDIT1,url); // IDC_EDIT1 是一个输入框的名字。    char* headers="Accept:*/*\r\nAccept-Language:zh-cn\r\nUser-Age
Redis有哪些适合的场景?
会话缓存(Session Cache):用Redis缓存会话比其他存储(如memcached)的优势在于:redis提供持久化。当维护一个不是严格要求一致性的缓存时,如果用户的购物车信息全部丢失,大部分人都会不高兴。全页缓存(FPC):除基本的会话token之外,Redis还提供很简便的FPC平台。队列:Redis在内存存储引擎领域的一大优点是提供list和set操作,这使得Redis能作为一个很...
@ResponseBody是什么,有什么作用
@responseBody注解的作用是将controller的方法<em>返回</em>的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来<em>返回</em>JSON数据或者是XML数据。 这个注解表示该方法的<em>返回</em>结果直接写入HTTP response body中,一般在异步获取数据时使用。 在使用@RequestMapping后,<em>返回</em>值通常解析为跳转路径。加上@responseb
电商场景问题整理
http://www.cnblogs.com/zhengyun_ustc/category/430020.html
[转]TensorFlow 在使用过程中可能遇到的问题及解决办法
TensorFlow是什么文章转载自:http://www.tuicool.com/articles/jeUVzqY官方的定义–TensorFlow是一个使用数据流图来进行数值计算的开源软件库。简单来说,TensorFlow是Google开源的深度学习框架。TensorFlow初学者在使用过程中可能遇到的问题及解决办法1.<em>出现</em>的问题:tensorflow.python.framework.error
情境(situation)、任务(task)、行动(action)、结果(result)
我们在理财的的时候,若是投资者都会首先会了解该产品的年化收益率,看能不能跑赢市场通货膨胀的速度,现在放银行存的钱是跑不赢,但保险就是,保险是保险了,但都不怎么赚钱,怎么让自己的钱,能更好的钱生钱呢,我了解的以下<em>可以</em>选择,做股票期货,p2p理财,购买保值且未来有增值空间的产品或商品(房子),但这些都存在较高风险,像股票,10个有9个是亏的哈,反正我是亏了,说说我现在从事的行业,p2p 这个东东,p2...
CHttpFile的ReadString返回乱码
源码如下:请高手看看错在什么地方?rn我的MessageBox出来的是一堆乱码,不过感觉结果是正确的。rnrnCInternetSession* cis=new CInternetSession;rnCHttpConnection* pHttpCon=cis->GetHttpConnection(_T("192.168.0.17"),INTERNET_FLAG_RELOAD | INTERNET_FLAG_DONT_CACHE,8007);rn CHttpFile * pFile;rn //pFile=pHttpCon->OpenRequest(CHttpConnection::HTTP_VERB_GET,_T("/a.htm"));rn //pFile->SendRequest();rn pFile=(CHttpFile *)cis->OpenURL(_T("Http://192.168.0.17:8007/a.htm"));rn CString szSession,szResult("\0");rn while(pFile->ReadString(szSession)!=FALSE)rn rn szResult=szResult+szSession;rn rn rn MessageBox(szResult);rn pFile->Close(); rn pFile = NULL; rn delete pFile; rn pHttpCon->Close(); rn pHttpCon = NULL; rn delete pHttpCon; rn cis->Close();rn cis = NULL; rn delete cis;
Eclipse可以run无法debug(debug时卡住不动)
好久没写东西了,记下笔记 今天
MFC 上传文件函数 (利用 CHttpFile 上传 )
上传本地文件至服务器指定位置 //上传本地文件至服务器指定位置 BOOL UploadFile(LPCTSTR strURL, //负责接收上传操作的页面的URL LPCTSTR strLocalFileName) //待上传的本地文件路径 { ASSERT(strURL != NULL &amp;amp;&amp;amp; strLocalFileName != NULL); ...
[洛谷]P2628 冒险岛 (#模拟 -2.7)
题目背景 冒险岛是费老师新开发的一种<em>情景</em>模拟电脑的游戏,通过掷骰子(1~6个数字之间),让一种人物(棋子)在棋纸上从左至右的行走,从而模拟冒险的故事…… 题目描述 棋纸上有一条从左至右的很长的路,整条路是一连串符号组成,表明路的状况,棋子必须在符号组成的路上行走。每掷一下骰子得到的数字,棋子就<em>可以</em>走掷得的数字所对应的步数,比如掷3,就<em>可以</em>走3步。 路上有两种特殊符号<em>可以</em>改变棋子的行走。 ...
分库分表、分区、读写分离 这些都是用在什么场景下,会带来具体的哪些好处
用处 / 功能 读写分离:提高数据库的读性能。 分库、垂直分表:分散系统负载,让原来一台机器做的事,变成几台机器来做。 水平分表、分区:缩小索引大小,使查找更快。 使用场景 读写分离:打开一个帖子内容页,需要select帖子表,和帖子评论表,每个耗时10ms的话。每秒1000次查询就是这个数据库的极限了。也就是说,这个论坛只能承载每秒500次访问。那么我们就<em>可以</em>对这个数据库做读写分离,来成倍...
返回键不能用
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { return true; } return super.onKeyDown(keyCode, eve
多次start一个线程会怎么样
多次start一个线程会怎么样? 多次start一个线程会抛出java.lang.IllegalThreadStateException。看start源代码红色部分 public synchronized void start() { /** * This method is not invoked for the main method threa...
request里面的参数. 是不是当使用response.sendRedirect("...")重定向URL之后就会失效?
jsp或Servlet都会用到页面跳转,<em>可以</em>用request.getRequestDispatcher(&quot;p3.jsp&quot;).forward(request,response);这种方法称为转发,地址栏上的URL不会改变;response.sendRedirect(&quot;p3.jsp&quot;);这种方法称为重定向,地址栏的URL会改变;这样实现跳转到p3.jsp;可是这两种方法有着本质的不同,requset是...
spring 不返回某个字段
1.注解使用在 类名,接口头上 @JsonIgnoreProperties(value={"comid"}) //希望动态过滤掉的属性   例 @JsonIgnoreProperties(value={"comid"})    public interface CompanyFilter{           }   2。该注
Java产生不重复随机数方法
关于生成Java不重复的随机数: import java.util.*;  public class Test...{      public static void main(String[] args)...{          //生成 [0-n) 个不重复的随机数          / st 用来保存这些随机数          ArrayList list = new ArrayL
关于视频+音频APP,存在一个用户播放,其他用户就卡死的问题。视频分发?
请问一下,我们在开发一个视频+音频APP 时候,考虑到一个问题就是,普通的云服务器,带宽限制原因。导致用户浏览音视频,会<em>出现</em>把服务器的带宽在那一瞬间全部用光,导致其他用户无法使用app,至少在存在有人播放的时候,其他APP上面的用户,基本无法使用。 打比方:云服务器(带宽4M,乃至100M 也好),如果是用于视频服务器,也是不靠谱的。因为用户浏览视频的时候,基本他的光钎访问速度<em>可以</em>达到100
阿里2014笔试题
1. 单选题 1. 假设把整数关键码K散列到N个槽列表,以下<em>哪些</em>散列函数是好的散列函数 A: h(K)=K/N; B: h(K)=1; C: h(K)=K mod N; D: h(K)=(K+rand(N)) mod N, rand(N)<em>返回</em>0到N-1的整数 参考答案:D 2. 下面排序算法中,初始数据集的排列顺序对算法的性能无影响的是:
使用CInternetSession获取utf-8页面中文乱码问题解决方法
代码如下: myurl="http://www.csdn.net";       CInternetSession    session;       CHttpFile*    theFile    =    NULL;       theFile    =    (CHttpFile*)session.OpenURL(myurl);       CString    szLi
javascript里for循环里sendrequestsendrequest返回的是一样的值
for循环里<em>sendrequest</em>,假如循环了1-5,但是<em>sendrequest</em>之后获取到的也是五次,但是都是1-5中的5,也就是最后一个值。为什么呢?rnrnfor (var ids=0; ids, paramsp, function(response) 。。。。。rn。。。。。。rnalert(ids);rn。。。。。。。rnrnrnrnrnrn也就是说alert(ids)出来的东西不一样,虽然都在for循环里,但是<em>sendrequest</em>里的都是alert出来的5
纸上得来终觉浅 绝知此事要躬行
在这个互联网的信息时代,大量的资料与信息随手可得,信息的快捷让我的心这些年趋于浮躁,总是很功利的查阅资料并阅读,自以为看懂了就行,可是“好记性不如烂笔头”“拿来主义”这些浅显易懂的道理不知不觉的忘却了,偶然听见了这诗句,茅塞顿开,恍然大悟,作为一名程序员,深知知识更新的速度远远比学习的速度快,所以,我更应该脚踏实地,一步步的夯实学习的过程,过程才是最重要的。         所以,对于代码,一定
一个方法返回值的类型应该怎么定义
在做开发时遇到了这样一个问题,有一个方法我需要对一个json的字符串做一些处理,处理完成之后再<em>返回</em>,但是<em>返回</em>的需要并不明确,<em>返回</em>多种类型的对象从功能上讲都是一样的,如Object,String.伪代码如下: public ?? adaptTheMetadataByLanguage(String json) { ObjectMapper mapper = new Obje...
sess.run的错误
居然把函数传给了sess.,run; 正确如下:
英语口语练习六十四之BodyLanguage
1.The truth is written on all our faces.真相就在我们的脸上。2.Body language tells the truth.身体语言交代了实情。3.Truth or happiness,never both.真相和快乐不可兼得。4.We are in the world, but not of the world.我们生活在这个世界,但不能随大流。5.They
MFC 让程序停一下 但不卡住的办法
MFC 让程序停一下 但不<em>卡住</em>的办法
关于SpringBoot bean无法注入的问题(与文件包位置有关)
问题场景描述整个项目通过Maven构建,大致结构如下: 核心Spring框架一个module spring-boot-base service和dao一个module server-core 提供系统后台数据管理一个module server-platform-app 给移动端提供rest数据接口一个module server-mobile-api 其中server-platform-app 与
android开发入门与实践下载
android开发入门与实践 只有三章内容 2,3,4这三章的 相关下载链接:[url=//download.csdn.net/download/liurui03263348/2425931?utm_source=bbsseo]//download.csdn.net/download/liurui03263348/2425931?utm_source=bbsseo[/url]
ACM Communications下载
ACM Communications ACM相关的教程,很有用。 相关下载链接:[url=//download.csdn.net/download/blueboy28/1978400?utm_source=bbsseo]//download.csdn.net/download/blueboy28/1978400?utm_source=bbsseo[/url]
Aspnet Mvc教程 10.新建Mvc页下载
Aspnet Mvc教程 1.说明 01:06 Aspnet Mvc教程 2.准备工作 02:37 Aspnet Mvc教程 3. 建立并运行 02:46 Aspnet Mvc教程 4.默认程序结构 04:18 Aspnet Mvc教程 5. 基本工作流程 05:13 Aspnet Mvc教程 6.mvc理论讲解 03:53 Aspnet Mvc教程 7.ViewData 04:51 Aspnet Mvc教程 8.TempData 02:50 Aspnet Mvc教程 9.ViewData其它用法 05:13 Aspnet Mvc教程 10.新建Mvc页 05 相关下载链接:[url=//download.csdn.net/download/mkbaoquan/2022543?utm_source=bbsseo]//download.csdn.net/download/mkbaoquan/2022543?utm_source=bbsseo[/url]
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 有哪些大数据培训 有哪些云计算
我们是很有底线的