libcurl模拟登陆失败(PHP可以,C++不行,代码差不多)

gzshun 2013-01-08 08:00:13
libcurl模拟登陆失败
我现在想登陆某个https网站,用php能成功登陆并取得cookies,但用C++调用libcurl却登陆不了,实现代码基本上一样,求解?
在Windows平台:
php代码(php调用php_curl.dll扩展):
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, 'https://www.example.net/Login.aspx');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'D:/ck.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'D:/ck.txt');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20100101 Firefox/17.0");
$rs = curl_exec($ch);
echo $rs;
curl_close($ch);


C++(Qt调用libcurl 7.28.1)代码:
CURL *pcurl;
QString htmlStr;
pcurl = curl_easy_init();

curl_easy_setopt(pcurl, CURLOPT_URL, "https://www.example.net/Login.aspx");
curl_easy_setopt(pcurl, CURLOPT_POSTFIELDS, postdata.toAscii().data());
curl_easy_setopt(pcurl, CURLOPT_SSL_VERIFYHOST, 0L);
curl_easy_setopt(pcurl, CURLOPT_SSL_VERIFYPEER, 0L);
curl_easy_setopt(pcurl, CURLOPT_COOKIEJAR, m_ckFileName);
curl_easy_setopt(pcurl, CURLOPT_COOKIEFILE, m_ckFileName);
curl_easy_setopt(pcurl, CURLOPT_WRITEFUNCTION, WriteToMem);
curl_easy_setopt(pcurl, CURLOPT_WRITEDATA, (void *)&htmlStr);
curl_easy_setopt(pcurl, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(pcurl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20100101 Firefox/17.0");

if (curl_easy_perform(pcurl) != CURLE_OK)
{
return;
}


提交的表单域完全一样,测试了N天,实在是找不出原因,期间怀疑是代码问题,也重写了好几次,均不行。请大家帮忙下,谢谢?
...全文
306 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pygmalion 2013-05-08
  • 打赏
  • 举报
回复
好像要先获取cookie保存在本地,再次请求的时候把cookie一起发出去!
hesunhua 2013-01-20
  • 打赏
  • 举报
回复
<h2>401 - Unauthorized: Access is denied due to invalid credentials.</h2> <h3>You do not have permission to view this directory or page using the credentials that you supplied.</h3>
hesunhua 2013-01-20
  • 打赏
  • 举报
回复
我的QQ是121633395 我也遇到这种问题,请帮忙。
hesunhua 2013-01-20
  • 打赏
  • 举报
回复
怎么解决的呀?
gzshun 2013-01-09
  • 打赏
  • 举报
回复
这么快就沉了,顶起。
gzshun 2013-01-09
  • 打赏
  • 举报
回复
没想到csdn的好友对这种问题不感兴趣,不过自己已经解决了,结贴。
gzshun 2013-01-08
  • 打赏
  • 举报
回复
给个思路也行,这问题也没涉及到太复杂的东西,但调试了好几天,始终出不来。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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