18,357
社区成员
发帖
与我相关
我的任务
分享 CInternetSession session;
CHttpConnection* pConnection =session.GetHttpConnection("exporter.alibaba.com"); //网站服务器
CHttpFile* pFile = pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,"/exporter/sendCsLeadsAction.html"); //直接向投票处理页面提交数据
//下面向提交数据中添加HTTP头,这些可以由网络监视器得到
pFile->AddRequestHeaders(_T("Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-silverlight, */*"));
pFile->AddRequestHeaders(_T("Referer: http://exporter.alibaba.com/exporter/registry.html?srctrace=y&originType=50"));
pFile->AddRequestHeaders(_T("Accept-Language: zh-cn"));
pFile->AddRequestHeaders(_T("Content-Type: application/x-www-form-urlencoded"));
pFile->AddRequestHeaders(_T("UA-CPU: x86"));
pFile->AddRequestHeaders(_T("Accept-Encoding: gzip, deflate"));
pFile->AddRequestHeaders(_T("User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; .NET CLR 3.5.21022)"));
pFile->AddRequestHeaders(_T("Host: exporter.alibaba.com"));
pFile->AddRequestHeaders(_T("Content-Length: 1238"));
pFile->AddRequestHeaders(_T("Connection: Keep-Alive"));
pFile->AddRequestHeaders(_T("Cache-Control: no-cache"));
pFile->AddRequestHeaders(_T("Cookie: ali_apache_id=221.232.223.51.1204690406902.0; __last_loginid__=kezhon; ali_apache_track=c_mt=2|c_mid=kezhon|c_lid=kezhon|c_ms=1; _intl_temp_other_=/z2HMndRfnwramL4FO/BB/Gt82aZ2PyoTRSiosV4cFEqfPmAC52wBhRx+Vu7SgdE; ali_apache_tracktmp=; ali_apache_sid=211.69.161.68.1207216999217.8|1207218815; JSESSIONID=DB1872374DA672B97E0C5A3A11EAAAA5"));
//HTTP头后面就应该是真正的数据了,下面theApp.m_strFormData中就是要提交的数据,服务器处理返回的信息在pFile中
CString m_strFormData=_T("name=%E7%8E%8B%E5%B2%9A&emailprefix=znuse&mail_postfix=163.com&mail_post=&companyName=%E8%93%9D%E8%B0%83%E5%A1%91%E8%83%B6%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8&countryName=%E4%B8%AD%E5%9B%BD&country=China&province=province5&provinceName=%E5%B9%BF%E4%B8%9C%E7%9C%81&provinceValue=province5&city=city45&cityName=%E5%B9%BF%E5%B7%9E%E5%B8%82&county=country237&countyName=%E5%B9%BF%E5%B7%9E%E5%B8%82¬CNCity=&companyAddress=%E7%8E%AF%E5%B8%82%E4%B8%AD%E8%B7%AF15%E5%8F%B7&countryCode=%2B86&workPhoneArea=020&workPhoneNumber=85627546&industry=100000080&mobilePhone=&consultation=%E6%88%91%E6%84%BF%E6%84%8F%E6%94%B6%E5%88%B0%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E6%96%B0%E4%BA%A7%E5%93%81%2F%E6%9C%8D%E5%8A%A1%E7%9A%84%E9%80%9A%E7%9F%A5%E4%BF%A1&email=znuse@163.com&address=%E4%B8%AD%E5%9B%BD%2C%E5%B9%BF%E4%B8%9C%E7%9C%81%2C%E5%B9%BF%E5%B7%9E%E5%B8%82%2C%E5%B9%BF%E5%B7%9E%E5%B8%82%2C%E7%8E%AF%E5%B8%82%E4%B8%AD%E8%B7%AF15%E5%8F%B7&subject=Mini%E4%BE%9B%E5%BA%94%E5%95%86%E6%8B%9B%E5%95%86%E5%8F%8D%E9%A6%88&phone=%2B86-020-85627546&remark=%E5%9C%A8%E5%9B%BD%E9%99%85%E7%AB%99%E6%8F%90%E4%BA%A4%E6%B3%A8%E5%86%8C%E5%9B%BD%E9%99%85%E7%AB%99%E4%BC%9A%E5%91%98%E7%94%B3%E8%AF%B7&needFeedbackEmail=Y&submitbtn2=%E6%B3%A8%E5%86%8C%E4%BC%9A%E5%91%98");
pFile->SendRequest(NULL,0,m_strFormData.GetBuffer(0),m_strFormData.GetLength()); //提交所有数据
//其实到这里投票已经可以结束了,不过你如果想看看成果,完全可以把返回的页面分析分析,得到些数据
char szBuffer[11001]; //用来存放返回的处理页面,要多大看实际情况。当然也可以动态分配,不嫌累的话
int nLen=pFile->Read(szBuffer,11000);//读取返回的内容,其实是投票结果页面的HTML代码
szBuffer[nLen]=0;
CString strTemp=szBuffer; //CString虽然滥了些,但用着就是方便,嘿嘿~
pFile->Close(); //数据读出来后把该关闭的东西都关掉
pConnection->Close();
delete pFile;
delete pConnection;
session.Close();
MessageBox(strTemp);最后strTemp="?" CInternetSession session;
CHttpConnection* pConnection =session.GetHttpConnection("exporter.alibaba.com"); //网站服务器
CHttpFile* pFile = pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,"/exporter/sendCsLeadsAction.html"); //直接向投票处理页面提交数据
//下面向提交数据中添加HTTP头,这些可以由网络监视器得到
pFile->AddRequestHeaders("Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-silverlight, */*");
pFile->AddRequestHeaders("Referer: http://exporter.alibaba.com/exporter/registry.html?srctrace=y&originType=50");
pFile->AddRequestHeaders("Accept-Language: zh-cn");
pFile->AddRequestHeaders("Content-Type: application/x-www-form-urlencoded");
pFile->AddRequestHeaders("UA-CPU: x86");
pFile->AddRequestHeaders("Accept-Encoding: gzip, deflate");
pFile->AddRequestHeaders("User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; .NET CLR 3.5.21022)");
pFile->AddRequestHeaders("Host: exporter.alibaba.com");
pFile->AddRequestHeaders("Content-Length: 1238");
pFile->AddRequestHeaders("Connection: Keep-Alive");
pFile->AddRequestHeaders("Cache-Control: no-cache");
pFile->AddRequestHeaders("Cookie: ali_apache_id=221.232.223.51.1204690406902.0; __last_loginid__=kezhon; ali_apache_track=c_mt=2|c_mid=kezhon|c_lid=kezhon|c_ms=1; _intl_temp_other_=/z2HMndRfnwramL4FO/BB/Gt82aZ2PyoTRSiosV4cFEqfPmAC52wBhRx+Vu7SgdE; ali_apache_tracktmp=; ali_apache_sid=211.69.161.68.1207216999217.8|1207218815; JSESSIONID=DB1872374DA672B97E0C5A3A11EAAAA5");
//HTTP头后面就应该是真正的数据了,下面theApp.m_strFormData中就是要提交的数据,服务器处理返回的信息在pFile中
CString m_strFormData=_T("name=%E7%8E%8B%E5%B2%9A&emailprefix=znuse&mail_postfix=163.com&mail_post=&companyName=%E8%93%9D%E8%B0%83%E5%A1%91%E8%83%B6%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8&countryName=%E4%B8%AD%E5%9B%BD&country=China&province=province5&provinceName=%E5%B9%BF%E4%B8%9C%E7%9C%81&provinceValue=province5&city=city45&cityName=%E5%B9%BF%E5%B7%9E%E5%B8%82&county=country237&countyName=%E5%B9%BF%E5%B7%9E%E5%B8%82¬CNCity=&companyAddress=%E7%8E%AF%E5%B8%82%E4%B8%AD%E8%B7%AF15%E5%8F%B7&countryCode=%2B86&workPhoneArea=020&workPhoneNumber=85627546&industry=100000080&mobilePhone=&consultation=%E6%88%91%E6%84%BF%E6%84%8F%E6%94%B6%E5%88%B0%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E6%96%B0%E4%BA%A7%E5%93%81%2F%E6%9C%8D%E5%8A%A1%E7%9A%84%E9%80%9A%E7%9F%A5%E4%BF%A1&email=znuse@163.com&address=%E4%B8%AD%E5%9B%BD%2C%E5%B9%BF%E4%B8%9C%E7%9C%81%2C%E5%B9%BF%E5%B7%9E%E5%B8%82%2C%E5%B9%BF%E5%B7%9E%E5%B8%82%2C%E7%8E%AF%E5%B8%82%E4%B8%AD%E8%B7%AF15%E5%8F%B7&subject=Mini%E4%BE%9B%E5%BA%94%E5%95%86%E6%8B%9B%E5%95%86%E5%8F%8D%E9%A6%88&phone=%2B86-020-85627546&remark=%E5%9C%A8%E5%9B%BD%E9%99%85%E7%AB%99%E6%8F%90%E4%BA%A4%E6%B3%A8%E5%86%8C%E5%9B%BD%E9%99%85%E7%AB%99%E4%BC%9A%E5%91%98%E7%94%B3%E8%AF%B7&needFeedbackEmail=Y&submitbtn2=%E6%B3%A8%E5%86%8C%E4%BC%9A%E5%91%98");
pFile->SendRequest(NULL,0,(LPVOID)(LPCTSTR)m_strFormData,m_strFormData.GetLength()); //提交所有数据
// //其实到这里投票已经可以结束了,不过你如果想看看成果,完全可以把返回的页面分析分析,得到些数据
// WCHAR szBuffer[1024]; //用来存放返回的处理页面,要多大看实际情况。当然也可以动态分配,不嫌累的话
// int nLen=pFile->Read(szBuffer,1024);//读取返回的内容,其实是投票结果页面的HTML代码
// szBuffer[nLen]=0;
// CString strTemp(szBuffer); //CString虽然滥了些,但用着就是方便,嘿嘿~
// pFile->Close(); //数据读出来后把该关闭的东西都关掉
// pConnection->Close();
// delete pFile;
// delete pConnection;
// session.Close();
// MessageBox(strTemp);
//CString strHeaders =_T("Content-Type: application/x-www-form-urlencoded\r\n");
// CString strFormData;
// strFormData=_T("name=%E7%8E%8B%E5%B2%9A&emailprefix=znuse&mail_postfix=163.com&mail_post=&companyName=%E8%93%9D%E8%B0%83%E5%A1%91%E8%83%B6%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8&countryName=%E4%B8%AD%E5%9B%BD&country=China&province=province5&provinceName=%E5%B9%BF%E4%B8%9C%E7%9C%81&provinceValue=province5&city=city45&cityName=%E5%B9%BF%E5%B7%9E%E5%B8%82&county=country237&countyName=%E5%B9%BF%E5%B7%9E%E5%B8%82¬CNCity=&companyAddress=%E7%8E%AF%E5%B8%82%E4%B8%AD%E8%B7%AF15%E5%8F%B7&countryCode=%2B86&workPhoneArea=020&workPhoneNumber=85627546&industry=100000080&mobilePhone=&consultation=%E6%88%91%E6%84%BF%E6%84%8F%E6%94%B6%E5%88%B0%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E6%96%B0%E4%BA%A7%E5%93%81%2F%E6%9C%8D%E5%8A%A1%E7%9A%84%E9%80%9A%E7%9F%A5%E4%BF%A1&email=znuse@163.com&address=%E4%B8%AD%E5%9B%BD%2C%E5%B9%BF%E4%B8%9C%E7%9C%81%2C%E5%B9%BF%E5%B7%9E%E5%B8%82%2C%E5%B9%BF%E5%B7%9E%E5%B8%82%2C%E7%8E%AF%E5%B8%82%E4%B8%AD%E8%B7%AF15%E5%8F%B7&subject=Mini%E4%BE%9B%E5%BA%94%E5%95%86%E6%8B%9B%E5%95%86%E5%8F%8D%E9%A6%88&phone=%2B86-020-85627546&remark=%E5%9C%A8%E5%9B%BD%E9%99%85%E7%AB%99%E6%8F%90%E4%BA%A4%E6%B3%A8%E5%86%8C%E5%9B%BD%E9%99%85%E7%AB%99%E4%BC%9A%E5%91%98%E7%94%B3%E8%AF%B7&needFeedbackEmail=Y&submitbtn2=%E6%B3%A8%E5%86%8C%E4%BC%9A%E5%91%98");//hl=zh-CN&ie=UTF-8&text=i+am+a+boy&langpair=en%7Czh-CN");
/* CInternetSession session;
CHttpConnection* pConnection =session.GetHttpConnection("exporter.alibaba.com",(INTERNET_PORT)80);
CHttpFile* pFile =pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,"/exporter/sendCsLeadsAction.html");
BOOL result = pFile->SendRequest(strHeaders,(LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());*/
CString szU8Buf;
int nlen;
CStringW u8("");
while(pFile->ReadString(szU8Buf))
{
nlen=szU8Buf.GetLength();
int nWCHAR=MultiByteToWideChar(CP_UTF8,0,szU8Buf,nlen,NULL,0);
WCHAR* szUnicode=new WCHAR[nWCHAR+1];
MultiByteToWideChar(CP_UTF8,0,szU8Buf,nlen,szUnicode,nWCHAR);
szUnicode[nWCHAR]='\0';
u8+=szUnicode;
u8+=L"\r\n";
delete[] szUnicode;
}
pFile->Close();
pConnection->Close();
delete pFile;
delete pConnection;
session.Close();
CString xx;
xx=UnicodeToUTF8(u8);
// FILE* fp;
// fp=fopen("1.htm","wb"); //保存成文件,编码为unicode
// fwrite(xx,xx.GetLength(),1,fp);
// fclose(fp);
CFile cfile;
cfile.Open(_T("1.htm"), CFile::modeCreate | CFile::modeReadWrite);
cfile.Write(xx,xx.GetLength());
cfile.Flush();
MessageBoxW(NULL,u8,u8,MB_OK);
void CTranslationDlg::OnBnClickedButton1()
{
CString strHeaders =_T("Content-Type: application/x-www-form-urlencoded\r\n");
CString strFormData;
strFormData=_T("name=%E7%8E%8B%E5%B2%9A&emailprefix=znuse&mail_postfix=163.com&mail_post=&companyName=%E8%93%9D%E8%B0%83%E5%A1%91%E8%83%B6%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8&countryName=%E4%B8%AD%E5%9B%BD&country=China&province=province5&provinceName=%E5%B9%BF%E4%B8%9C%E7%9C%81&provinceValue=province5&city=city45&cityName=%E5%B9%BF%E5%B7%9E%E5%B8%82&county=country237&countyName=%E5%B9%BF%E5%B7%9E%E5%B8%82¬CNCity=&companyAddress=%E7%8E%AF%E5%B8%82%E4%B8%AD%E8%B7%AF15%E5%8F%B7&countryCode=%2B86&workPhoneArea=020&workPhoneNumber=85627546&industry=100000080&mobilePhone=&consultation=%E6%88%91%E6%84%BF%E6%84%8F%E6%94%B6%E5%88%B0%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4%E6%96%B0%E4%BA%A7%E5%93%81%2F%E6%9C%8D%E5%8A%A1%E7%9A%84%E9%80%9A%E7%9F%A5%E4%BF%A1&email=znuse@163.com&address=%E4%B8%AD%E5%9B%BD%2C%E5%B9%BF%E4%B8%9C%E7%9C%81%2C%E5%B9%BF%E5%B7%9E%E5%B8%82%2C%E5%B9%BF%E5%B7%9E%E5%B8%82%2C%E7%8E%AF%E5%B8%82%E4%B8%AD%E8%B7%AF15%E5%8F%B7&subject=Mini%E4%BE%9B%E5%BA%94%E5%95%86%E6%8B%9B%E5%95%86%E5%8F%8D%E9%A6%88&phone=%2B86-020-85627546&remark=%E5%9C%A8%E5%9B%BD%E9%99%85%E7%AB%99%E6%8F%90%E4%BA%A4%E6%B3%A8%E5%86%8C%E5%9B%BD%E9%99%85%E7%AB%99%E4%BC%9A%E5%91%98%E7%94%B3%E8%AF%B7&needFeedbackEmail=Y&submitbtn2=%E6%B3%A8%E5%86%8C%E4%BC%9A%E5%91%98");//hl=zh-CN&ie=UTF-8&text=i+am+a+boy&langpair=en%7Czh-CN");
CInternetSession session;
CHttpConnection* pConnection =session.GetHttpConnection("exporter.alibaba.com",(INTERNET_PORT)80);
CHttpFile* pFile =pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST,"/exporter/sendCsLeadsAction.html");
BOOL result = pFile->SendRequest(strHeaders,(LPVOID)(LPCTSTR)strFormData, strFormData.GetLength());
CString szU8Buf;
int nlen;
CStringW u8("");
while(pFile->ReadString(szU8Buf))
{
nlen=szU8Buf.GetLength();
int nWCHAR=MultiByteToWideChar(CP_UTF8,0,szU8Buf,nlen,NULL,0);
WCHAR* szUnicode=new WCHAR[nWCHAR+1];
MultiByteToWideChar(CP_UTF8,0,szU8Buf,nlen,szUnicode,nWCHAR);
szUnicode[nWCHAR]='\0';
u8+=szUnicode;
u8+=L"\r\n";
delete[] szUnicode;
}
pFile->Close();
pConnection->Close();
delete pFile;
delete pConnection;
session.Close();
FILE* fp;
fp=fopen("1.htm","wb"); //保存成文件,编码为unicode
fwrite((LPCSTR)(LPCWSTR)u8,u8.GetLength()*sizeof(WCHAR),1,fp);
fclose(fp);
MessageBoxW(NULL,u8,u8,MB_OK);