https://www.codeproject.com/Articles/6939/WWW-HTTP-HTTPS-FTP-Client-using-WININET
char RetBuf[1024]="\0";
W3Client client;
client.Connect("https://api.xxxxxxx.com");
client.AddPostArgument("user","admin");
client.AddPostArgument("pw","123456");
if(client.Request("/login.html", W3Client::reqPost))
{
while(client.Response(reinterpret_cast<unsigned char*>(RetBuf), 1024)>0)
{
OutputDebugString(RetBuf);
}
}
https post呼叫正常,但登錄成功后再次聯網呼叫需要第一次登錄的cookie,由于例子里沒有帶獲取跟設定cookie,所以只能猜
char RetCookieBuf[1024]="\0";
client.QueryCookie((BYTE*)RetCookieBuf, 1024, 0);
這個應該就是獲取第一次登錄的cookie吧,RetCookieBuf======JSESSIONID=184934BFE67C88D808F9F4C54B7F236E; Path=/; HttpOnly
現在的問題是第二次聯網的時候怎么設定進去這個cookie??
char RetBuf[1024]="\0";
W3Client client;
client.Connect("https://api.xxxxxxx.com");
client.AddPostArgument("api","Fun1");
client.AddPostArgument("data","123456");
if(client.Request("/api.html", W3Client::reqPost))
{
while(client.Response(reinterpret_cast<unsigned char*>(RetBuf), 1024)>0)
{
OutputDebugString(RetBuf);
}
}
嘗試用這個==client.AddCookie(RetCookieBuf,0); 不知道引數應該填什么值?從哪取?請老司機帶路
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/64030.html
標籤:網絡編程
