0

我设法使用 curl 登录我想要的站点,然后我尝试使用相同的句柄访问我的站点的一部分,但它无法识别我当前的会话。

我设置 curl 来处理自己的 cookie。

curl_easy_setopt( curlHandleMO, CURLOPT_COOKIEFILE, "" );

我应该怎么办?

4

2 回答 2

1

抱歉,我还不能添加评论。可以参考以下问答:How to manage a simple PHP session using C++ cURL (libcurl)

希望这会有所帮助。

于 2013-11-12T17:37:18.720 回答
0

我找到了一个解决方案:我在 Firefox 中使用 FireBug 来查看我想要的站点上的 POST 请求的外观,并创建了一个标头请求,就像 Firefox 使用的那样。

struct curl_slist *header=NULL; 
header = curl_slist_append(header,"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
header = curl_slist_append(header,"Accept-Encoding: gzip, deflate");
header = curl_slist_append(header,"Accept-Language: en-us,ro-ro;q=0.8,ro;q=0.6,en-gb;q=0.4,en;q=0.2");
header = curl_slist_append(header,"Connection:  keep-alive");
header = curl_slist_append(header,"Cookie:  __utma=111401936.1442146463.1383320644.1384439040.1384441847.12; __utmz=111401936.1384276584.7.3.utmcsr=expert-monitor.ro|utmccn=(referral)|utmcmd=referral|utmcct=/LexMonitorMBM/comercial/clientextern/autentic.php; Clientextern=klhttfmf1jt2v7c11efcv4lqn4; __utmc=111401936; __utmb=111401936.9.10.1384441847");
header = curl_slist_append(header,"DNT: 1");
header = curl_slist_append(header,"Host:    www.expert-monitor.ro");
header = curl_slist_append(header,"Referer: http://www.expert-monitor.ro/LexMonitorMBM/comercial/clientextern/login.php?succes=0");
header = curl_slist_append(header,"User-Agent:  Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0");

curl_easy_setopt(curlHandleMO, CURLOPT_HTTPHEADER, header); 
于 2013-11-14T16:46:54.593 回答