VC编程之VC设置cookies实现文件刷下载量
小标 2018-08-28 来源 : 阅读 1404 评论 0

摘要:本文主要向大家介绍了VC编程之VC设置cookies实现文件刷下载量,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。

本文主要向大家介绍了VC编程之VC设置cookies实现文件刷下载量,通过具体的内容向大家展示,希望对大家学习VC编程有所帮助。

同学XXX提问:

大家好,我们做的Android应用已经成功在中兴汇天地成功上架了,打开“中兴汇天地应用商店”//apps.ztems.com/,搜索栏搜索“睿云”就能找到了,但是需要你注册一个应用商店的账号,完成后就可以下载了,还可以给我们评论。最简单的刷下载量请直接点击//dl5.ztems.com/tmpfile/cst2009/2009001/appSoft/2013/10/9/ruiyun.apk(经测试可以下载,不能增加下载量)
以上两种方法均可,第一种更好,第二种也可。但是在大家空闲的时候还是推荐第一种。XXX在此谢谢各位的帮助了。

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

类似这样的app下载网站,是不会验证IP,更不会验证MAC,来实现仅仅让一个客户端下载一次.(验证IP,我们可以用代理IP来实现我们的刷下载量的目的)

 

模拟登录一下,看看服务器是怎样处理用户请求的.

用抓包软件监测下:

 

[plain] view plaincopy

 

 

POST /storeUserbasicFacade/login.ssm HTTP/1.1  

Host: apps.ztems.com  

Connection: keep-alive  

Content-Length: 72  

Origin: //apps.ztems.com  

User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36  

Content-Type: text/plain;charset=UTF-8  

Accept: */*  

Referer: //apps.ztems.com/newLogin.html  

Accept-Encoding: gzip,deflate,sdch  

Accept-Language: zh-CN,zh;q=0.8  

Cookie: JSESSIONID=811B619FA8744978B07238A82F1E6A8B.app42-1; zte_store_view=4028329f417e6dcd01419d5dafa21aa3-1131011170551%2C  

  

[{"email":"******","userPasswd":"****","checkCode":"3367"}]  


//apps.ztems.com/newLogin.html

 

/storeUserbasicFacade/login.ssm

这种东西由于水平有限暂时不知道如何去处理,所以就从cookies入手了.

得到了cookies我们就可以非常轻松的绕过后台登录了.

接下来用VC实现上述操作,利用win api

InternetSetCookie

 

Syntax

C++

 

BOOL InternetSetCookie(
 _In_  LPCTSTR lpszUrl,
 _In_  LPCTSTR lpszCookieName,
 _In_  LPCTSTR lpszCookieData
);

Parameters

lpszUrl [in]

Pointer to a null-terminated string that specifies the URL for which the cookie should be set.

lpszCookieName [in]

Pointer to a null-terminated string that specifies the name to be associated with the cookie data. If this parameter is NULL, no name is associated with the cookie.

lpszCookieData [in]

Pointer to the actual data to be associated with the URL.

Return value

 

Returns TRUE if successful, or FALSE otherwise. To get a specific error message, call GetLastError.

Remarks

Cookies created by InternetSetCookie without an expiration date are stored in memory and are available only in the same process that created them. Cookies that include an expiration date are stored in the windows\cookies directory.

Creating a new cookie might cause a dialog box to appear on the screen asking the user if they want to allow or disallow cookies from this site based on the privacy settings for the user.

 

Caution  InternetSetCookie will unconditionally create a cookie even if “Block all cookies” is set in Internet Explorer. This behavior can be viewed as a breach of privacy even though such cookies are not subsequently sent back to servers while the “Block all cookies” setting is active. Applications should use InternetSetCookieEx to correctly honor the user's privacy settings.

For more cookie internals, see //blogs.msdn.com/ieinternals/archive/2009/08/20/WinINET-IE-Cookie-Internals-FAQ.aspx.

Like all other aspects of the WinINet API, this function cannot be safely called from within DllMain or the constructors and destructors of global objects.

Note  WinINet does not support server implementations. In addition, it should not be used from a service. For server implementations or services use Microsoft Windows HTTP Services (WinHTTP).

[cpp] view plaincopy

 

 

#include <iostream>  

#include <cstdio>  

#include <afxinet.h>  

using namespace std;  

  

CString getHtml(CString url)  

{  

    CString content;  

    CString data;  

    DWORD dwStatusCode;  

    CInternetSession session(TEXT("HttpClient"));  

  

    CHttpFile* pfile = (CHttpFile *)session.OpenURL(url);  

    pfile->QueryInfoStatusCode(dwStatusCode);  

    if(dwStatusCode == HTTP_STATUS_OK)  

    {   

        while (pfile->ReadString(data))  

        {  

            content += data;  

        }  

    }  

    pfile->Close();  

    delete pfile;  

    session.Close();  

    return content;  

}  

  

int main()  

{  

    CString url = "//apps.ztems.com/fdpc?appcode=4028329f417e6dcd01419d5dafa21aa3";  

    InternetSetCookie(url, NULL, TEXT("JSESSIONID=811B619FA8744978B07238A82F1E6A8B.app42-1; zte_store_view=;expires=Sat,01-Jan-2014 00:00:00GMT"));  

    getHtml(url);  

}  

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言VC/MFC频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved