CString strFormData = "uname=****&upass=****"; // 需要提交的数据
CInternetSession sess((LPCTSTR)"My Session",0);
CHttpFile* fileGet;
CString strHeaders = "Content-Type: application/x-www-form-urlencoded"; // 请求头 try
{
CHttpConnection* pConnection = sess.GetHttpConnection( "192.168.15.80:8080" );
fileGet = pConnection->OpenRequest(CHttpConnection::HTTP_VERB_POST, "/navigation/check?act=in");
CString strSentence = "";
CString strGetSentence = "";
if(fileGet)
{
fileGet->SendRequest(strHeaders, (LPTSTR)(LPCTSTR)strFormData, strFormData.GetLength());
while(fileGet->ReadString(strSentence)) // 读取提交数据后的返回结果
{
strGetSentence += strSentence + char(13) + char(10);
}
cout<<strGetSentence<<endl; // 显示返回内容
}
else
{
cout<<"can not find!"<<endl;
}
strFormData.Empty(); //不加会导致内存泄露
strHeaders.Empty(); //不加会导致内存泄露
temp_id.Empty(); //不加会导致内存泄露
temp_password.Empty(); //不加会导致内存泄露
path.Empty(); //不加会导致内存泄露
fileGet->Close();
delete fileGet;
fileGet = NULL;
pConnection->Close();
delete pConnection;
pConnection = NULL;
}
catch(CException* e)
{
fileGet = 0;
e->ReportError();
e->Delete();
}
我的代码水平一般,上面代码有一个问题是这样:
如果不打开fiddler这个抓包工具,它运行提示“无法与服务器建立连接”,打开抓包工具之后能够正常
返回post请求之后收到的数据,请大神帮忙给看看是哪的问题。C++ POST HTTP
解决方案 »
- 我使用bcg,工具栏图标为16色如何改为真彩色或256色?
- 请问怎样判断一个进程是否开启?有没有相应的API函数?好急!各位兄弟姐妹帮帮忙啊,小弟感激不尽
- VC ADO中如何删除选中的记录
- VC++2010 下面找不到FlexGrid与日历控件
- 一个字符串中包括 中文和英文,我在输出时怎么区分呢?
- 放分啦!请问如何将CTime,等特殊类型的字段格式化成字符串?在线等待!!!
- 一个关于directshow 关于屏幕变黑的问题
- 多个wave文件拼接播放
- 想找一个记录ADSL上网时间的小程序,没找到。于是想自己写一个,但不知道下手之处。如果你知道有此软件,请推荐;如果你知道怎么写这样的程序,请指出参考资料或列出关键的几个API。谢谢!
- 编译错误,高手请进!
- 请问怎样删除文件中的空行,是判定连续两个换行(或回车)还是用其他方法,又怎样去判定
- 用C++SOCKET如何实现一个服务器,可以接收并显示多个客户端发来的字符串信息。
一个模拟登陆的例子,希望对你有帮助~
如果不打开抓包软件工具,我的程序就无法连接服务器。
打开抓包软件工具,我的程序就能正确发送请求,也能接收到正确的返回信息