winhttp 发送 get 请求
由于微端要和服务器交互,而服务器又只有http协议的处理,所以需要用C++来模拟get或post请求。
这是使用windows api来模拟get请求的,使用到的库有“winhttp”,头文件有“winhttp.h”,下面的代码来源于http://msdn.microsoft.com:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
void
getRequest(){
DWORD
dwSize = 0;
DWORD
dwDownloaded = 0;
LPSTR
pszOutBuffer;
BOOL
bResults = FALSE;
HINTERNET hSession = NULL,
hConnect = NULL,
hRequest = NULL;
hSession = WinHttpOpen(L
"A WinHTTP Example Program/1.0"
,
WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,
WINHTTP_NO_PROXY_NAME,
WINHTTP_NO_PROXY_BYPASS, 0);
if
(hSession)
hConnect = WinHttpConnect(hSession, L
"oschina.net"
,
INTERNET_DEFAULT_HTTP_PORT, 0);
if
(hConnect)
hRequest = WinHttpOpenRequest(hConnect, L
"GET"
,
L
"/search?q=python"
,
NULL, WINHTTP_NO_REFERER,
WINHTTP_DEFAULT_ACCEPT_TYPES,
0);
if
(hRequest)
bResults = WinHttpSendRequest(hRequest,
WINHTTP_NO_ADDITIONAL_HEADERS,
0, WINHTTP_NO_REQUEST_DATA, 0,
0, 0);
if
(bResults)
bResults = WinHttpReceiveResponse(hRequest, NULL);
if
(bResults)
{
do
{
dwSize = 0;
if
(!WinHttpQueryDataAvailable(hRequest, &dwSize))
printf
(
"Error %u in WinHttpQueryDataAvailable.\n"
,
GetLastError());
pszOutBuffer =
new
char
[dwSize+1];
ZeroMemory(pszOutBuffer, dwSize+1);
if
(!WinHttpReadData(hRequest, (
LPVOID
)pszOutBuffer,
dwSize, &dwDownloaded))
printf
(
"Error %u in WinHttpReadData.\n"
, GetLastError());
else
printf
(
"%s\n"
, pszOutBuffer);
delete
[] pszOutBuffer;
}
while
(dwSize > 0);
}
if
(!bResults)
printf
(
"Error %d has occurred.\n"
, GetLastError());
if
(hRequest) WinHttpCloseHandle(hRequest);
if
(hConnect) WinHttpCloseHandle(hConnect);
if
(hSession) WinHttpCloseHandle(hSession);
}
|
这段代码时模拟请求开源中国查询python相关信息的,亲测可用,做个记录方便以后查找。
地址:http://fastfood.sinaapp.com/?p=1250
相关文章
- EMC测试项分类
EMC包含两大项:EMI(干扰)和 EMS(敏感度,抗干扰) EMI测试项包括: RE(辐射,发射) CE(传导干扰) H…...
2023/3/26 20:52:27 - AfxMessageBox另外一种快速使用方法
在MFC中,很多字符串是要写到String table中的,如果AfxMessageBox要用到这种字符串,可以使用2种方法: 假设字符串ID为IDS_STRING1; 1.CString str; str.LoadString(IDS_STRING1); AfxMessageBox(str); 2.AfxMessag…...
2023/3/26 20:51:57 - java安装下载步骤_java下载安装教程
java下载安装教程首先,我们可能需要查看一下电脑的配置信息,单击开始按钮选择系统,一般我们只需要关注是多少位的系统,还有是windows或Linux即可,如图:推荐教程:《java学习》在网络畅通的情况下…...
2023/3/26 20:45:25 - MFC调用winhttp实现简易的HTTP服务器程序
Windows提供的winhttp函数库用来快速实现HTTP协议的应用程序,包括客户端和服务器端。 服务器开发一般流程是这样的: 1.HttpInitialize 初始化WinHTTP函数库; 2.HttpCreateHttpHandle 创建一个HTTP队列句柄,用来接收HTTP请求&am…...
2023/3/26 20:43:14 - buuctf-misc-snake
打开题目拿到一张图片,分离一下得到两个文件 打开key 是base64 密文,解密一下 翻译一下:妮琪米娜最喜欢哪首歌里提到了蛇? 百度找关键词,逛了10 多分钟才出来 Anaconda 蛇在英语中还有一种翻译 Serpent 是一种加密算法 解…...
2023/3/26 20:38:06 - 即时通讯简单步骤
Socket: 1>Socket又称"套接字” 2>网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。3>应用程序通常通过"套接字"向网络发出请求或者应答网络请求网络通信的要素:1>网络上的请求就是通过Socket来建…...
2023/3/26 20:35:36 - 2022/1/21-2022/2/5
2022/1/21 通过列表的find方法获取指定用户的上班列表 业务逻辑说来不过增删改查,add,remove,list等,get,post,delete都是可以照着模仿的。 像 : click " show true " showtrue就是一个表达式, 相当于 click“f(n)” f(n)就是 s…...
2023/3/26 20:35:02 - python多进程和多线程一起使用_Python:多进程和多线程
在现实社会,我们经常需要一种场景,就是同时有多个事情需要执行,如在浏览网页的同时需要听音乐。比如说在跳舞的时候要唱歌。同样的,在程序中我们也可能需要这种场景。如下面我们以同时听音乐和浏览网页为例。def network():while …...
2023/3/26 20:33:31 - GUI snake贪吃蛇Java小游戏
githup Data类 package com.company.snake;import javax.swing.*; import java.net.URL;//数据中心 public class Data {//绝对路径 ctrlalto 补全包public static URL headerURL Data.class.getResource("statics/material/header.png");public static ImageIcon…...
2023/3/26 20:32:18 - android sqlite #039;,问题详情_百度云推送_免费专业最精准的移动推送服务平台
未解决报错 SIGSEGV(SEGV_MAPERR)#31863个回答push_client_sdk_for_android6.0.0Nicholas_lol1 2017-12-21问:跟踪日志#00 pc 001e5672 /system/lib/libart.so (std::__1::__tree_iterator<:__1::__value_type art::safemap int std::__1::set std::__1::less>…...
2023/3/26 20:15:33 - 苏宁!你还挺得过去吗?(苏宁大幅裁员)
前两天才写了一篇《作为一个江苏人,我眼中的苏宁》, 说实话,我内心是有点不太相信,偌大的苏宁会走到今天这步田地。 可一件件传闻都慢慢变成了实锤! 一、苏宁大裁员 一位多年老友刚跳槽去了苏宁; 入职一…...
2023/3/26 20:13:44 - 我爸说我应该感恩
是的,我知道,这个世界很多人都帮过我。 但是,面对家里的那些亲戚,我知道我不理他们,他们也没有义务理我。 我应该记住感恩。别人的生活,我并没有深入接触,我不了解。我的生活,我的选…...
2023/3/26 20:10:21 - CSDN博客的简易使用
CSDN博客简易使用 在CSDN上写博客,总是遇到很多问题,虽然这些问题很简单,但是对于新手来说,缺经常遇到,因此写篇博客记载。 一、CSDN的博客如何上传图片 如果有现成的 图片就选择文件路径,没有是截图的话&…...
2023/3/26 20:00:03 - IT舔狗日记完全整理版,舔狗日记说说经典语录
“舔狗”是一种多么神奇的存在?让最近很火的“舔狗日记”带你感受!下面整理了来自各个渠道(包括大家发的评论)的内容,凑足了一个月的份额!舔狗日记 3月1日 雨今天你终于通过我好友了,打招呼的方式还是那么别致,一个阿玛尼包包的淘宝链接,我从兄弟那边借了3000,很快给…...
2023/3/26 19:58:46 - 全球及中国吊顶行业研究及十四五规划分析报告
中国是最大的市场,约占59%的市场份额,其次是欧洲和美国,约占33%的市场份额。 主要的生产厂商有Armstrong, Saint-Gobain, Hunter, OWA, ROCKWOOL International, SAS International, Siniat, Hufcor, YOUPON INTEGRATED CEILING, Ouraohua等。…...
2023/3/26 19:49:49 - 手把手教你机器学习之支持向量机
1.支持向量机SVM的基本原理: SVM就是解决线性不可分的算法。 将数据投射到高维空间,这正是SVM算法的核函数的功能. 在SVM中用得最普遍的两种把数据投射到高维空间的方法分别是多项式内核和径向基内核(RBF)。其中多项式内核比较容…...
2023/3/26 19:42:24 - Java 处理流--转换流(InputStreamReader和OutputStreamWriter)
转换流的两种形式: 1.InputStreamReader:将字节流转换成字符流。 public OutputStreamWriter(OutputStream out, String charsetName) 2.OutputStreamWriter:将字符流转换成字节流。 public InputStreamReader(InputStream in, String char…...
2023/3/26 19:36:33 - c# UpdatePanel 用法
1 前台必须添加 2 前台 3 后台...
2023/3/26 19:35:11 - Android文件操作工具类,拿去用吧!
五一放假了,作为一个外地狗,就别想回家了,还是在学校搞点东西吧!花了一天的时间,写了一个比较完善的文件管理工具类,希望小伙伴们能用上,有关于文件的常见操作,,一个我们…...
2023/3/26 19:26:46 - sql怎么发音mysql_[原创]SQL发音考证(搜寻SQL-86标准)
据我观察,中国的开发者创造了一种独特的SQL发音:/sɜːkl/,既好听,又好读,挺好的。但是今年我开始做数据库相关的工作,作为一个专业人士,决定对SQL发音进行一些考证。直接说结论吧,很…...
2023/3/26 19:19:44
最新文章
- 测试篇(一):需求、BUG、测试用例、开发模型和测试模型、配置管理和软件测试
目录一、什么是需求1.1 需求的概念1.2 用户需求1.3 软件需求二、什么是测试用例2.1 测试用例的概念三、什么是BUG3.1 BUG(软件错误)的概念四、开发模型4.1 软件生命周期4.2 瀑布模型4.3 螺旋模型4.4 增量、迭代模型4.5 敏捷模型五、测试模型5.1 软件测试V模型5.2 软件测试W模型…...
2023/3/26 20:52:37 - EMC测试项分类
EMC包含两大项:EMI(干扰)和 EMS(敏感度,抗干扰) EMI测试项包括: RE(辐射,发射) CE(传导干扰) H…...
2023/3/26 20:52:27 - 简单排序(排序过程)
问题引入 【问题描述】 实现冒泡排序、简单选择排序、直接插入排序。 【输入形式】 输入3组待排序序列。 【输出形式】 输出分别使用冒泡、选择、插入排序的每趟排序结果。 【样例输入】 5 7 3 5 0 -9 3 9 8 0 6 2 4 6 3 4 2 【样例输出】 insertSort: 3 7 5 0 -9 3 5 7 0 -9 …...
2023/3/26 20:52:11 - java Lambda表达式 省略模式写法
我们先来看一个普通的Lambda表达式 我们创建一个包 下面创建一个接口 testInterface 参考代码如下 public interface testInterface {int eat(int max,int min); }text 测试类 参考代码如下 public class text {public static void main(String args[]) {newTestInterface(…...
2023/3/26 20:52:00 - AfxMessageBox另外一种快速使用方法
在MFC中,很多字符串是要写到String table中的,如果AfxMessageBox要用到这种字符串,可以使用2种方法: 假设字符串ID为IDS_STRING1; 1.CString str; str.LoadString(IDS_STRING1); AfxMessageBox(str); 2.AfxMessag…...
2023/3/26 20:51:57 - NVIDIA-TAO环境配置及预训练模型使用样例-车牌号识别(Docker容器方法)
TAO是英伟达推出的可以简化企业AI应用和部署的模型自适应平台,其提供了大量的预训练模型以及模型finetune程序,使得用户可以快速的在自己的数据上进行模型finetune,之后用TAO的部署工具可以快速完成模型的部署。 TAO提供了四种使用方式&…...
2023/3/26 20:51:46 - “揾”钱,最紧要系稳
我是腾讯安全的樊自磊。我们团队在腾讯主要负责金融风控产品,解决相关产品交付和服务维护工作,像国内知名大型国有银行、城商行、互联网金融公司等,都是我们的服务对象。今年春节,我和我的的同事们都在深圳为金融行业的网络安全进…...
2023/3/26 20:51:36 - 越权漏洞详解
今天继续给大家介绍渗透测试相关知识,本文主要内容是越权漏洞详解。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调:严禁对未授权设备进行…...
2023/3/26 20:51:31 - dede后台取消验证码
如何去除dede后台登陆页面的验证码找到DEDE后台目录,也就是默认的/dede/login.php在Dreamweaver8里面是第44行 找到以下代码if(($validate== || $validate != $svali) && preg_match("/6/",$safe_gdopen))把上面的代码替换成以下代码if( false )然后直接保存…...
2023/3/26 20:51:28 - 除 svn、Testlink 外,还有哪些不错的测试用例管理工具?
类似TestLink的 9 大测试用例管理平台:1、PingCode;2、TestRail;3、Xray;4、Jira;5、PractiTest;6、PractiTest;7. Zephyr Enterprise;8、MeterSphere;9、Bugzilla。一、…...
2023/3/26 20:51:17 - asp.net校园新闻管理系统毕业设计(附源码、运行环境)
用户登录界面管理 新闻分类管理 新闻管理 新闻统计管理 免费赠送本源代码、数据库,请私信...
2023/3/26 20:51:16 - DRR(Digitally Reconstructured Radiograph)分类及原理
DRR(Digitally Reconstructured Radiograph)分类及原理 DRR(Digitally Reconstructured Radiograph),全称为数字重建放射影像,其是通过将三维 (3D) 图像(Volume)透视投影到二维 (2D) 图像平面上而生成的射线照相图像的模拟。DRR被…...
2023/3/26 20:51:13 - 春招来了,如何正确使用领英超高效招聘海外员工、挖掘人才?
金三银四到了,每年的这个时候都是企业招聘的好时机。而领英是目前全球最大的职场社交网络平台,基本上海外求职都是在使用它,所以很多企业涉及到海外招聘时,都会优先考虑领英,但是却经常缺乏一些经验技巧,今…...
2023/3/26 20:51:11 - phpcms更换域名
phpcms站点域名配置https无法提交怎么解决展开3全部找开phpcms\modules\admin下的site.php文件,在大约128行修改如下:if(!empty($domain)&&!preg_match(/http:\/\/(.+)\/$/i,$domain)){if(!empty($domain)&&!preg_match(/https:\/\/(.+)\/$/i,$domain)){phpc…...
2023/3/26 20:51:09 - PHP的多线程和多进程存在的问题
内容均由AI回答提供:多线程:比如不能很好的控制资源的使用、不支持多线程的性能优化等。比如不能跨平台运行、不支持多线程的同步机制等。比如不支持多线程的异步操作、存在多线程安全性问题等。不支持多线程的协作机制等问题。多进程:PHP多进…...
2023/3/26 20:51:08 - [1181]linux两台服务器之间传输文件和文件夹
文章目录scp1)从服务器复制文件到本地:2)复制文件到本地并重命名:3)从服务器复制文件夹到本地:4)从本地复制文件到服务器(不包括文件夹本身):5)从本地复制文件夹到服务器…...
2023/3/26 20:51:02 - Idea插件之日志管理神器(Grep Console)
1.简介Grep Console是一款方便开发者对idea控制台输出日志进行个性化管理的插件。2.功能特性Grep Console的主要功能特性:支持自定义规则来过滤日志信息;支持不同级别的日志的输出样式的个性化配置;总结:通过过滤功能、输出日志样…...
2023/3/26 20:51:00 - 微信支付账户更换实名认证微信钱包零钱余额还在吗?怎么更换微信钱包实名认证?
原文来源:https://www.caochai.com/article-4119.html 微信支付账户更换实名认证微信钱包零钱余额还在吗? 微信支付账户更换实名认证微信钱包的零钱余额将清空,因为更换微信钱包实名认证的前提条件是微信钱包零钱余额不能大于0元。所以&…...
2023/3/26 20:50:48 - java获取系统时间system_JAVA获取当前系统时间System.currentTimeMillis()
System.currentTimeMillis()产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数,Date()其实就是相当于Date(System.currentTimeMillis());因为Date类还有构造Date(long date),用来计算long秒与1970年1月1日之间的毫秒差。得到了…...
2023/3/26 20:50:40 - 802.1x认证方式(EAP中继认证与EAP终结认证)
文章目录1、前言2、协议说明3、报文分析EAP中继模式:MD5-challengeEAP终结模式:MD5-challengeRadius CHAP认证原理参考资料:1、前言 802.1x协议是基于Client/Server的访问控制和认证协议。 它可以限制未经授权的用户/设备通过接入端口(access port)访问LAN/WLAN。在…...
2023/3/26 20:50:26