winhttp 发送 get 请求「建议收藏」

winhttp 发送 get 请求「建议收藏」由于微端要和服务器交互,而服务器又只有http协议的处理,所以需要用C++来模拟get或post请求。这是使用windowsapi来模拟get请求的,使用到的库有“winhttp”,头文件有“winhttp.h”,下面的代码来源于http://msdn.microsoft.com:12345678

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

由于微端要和服务器交互,而服务器又只有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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157727.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 手机端有没有好用的图片识别文字工具值得推荐?

    手机端有没有好用的图片识别文字工具值得推荐?图片转文字,用到的就是OCR识别技术,针对网络上复杂字体实现精确识别功能,经常用于社交、电商、学习等场景。传统的将图片识别文字的方式选择手动书写,随着AI智能技术的应用,以OCR智能识别工具由于使用简单、转写效率高逐渐代替传统的手动书写。下面给大家分享三款超好用的图片转文字工具,看看你喜欢的有没有上榜。1、微信提取文字微信基本上是现在手机中必装软件,很多人仅用微信用来日常聊天,实际上很多小功能也是非常好用。今天给大家介绍微信提取文字的方法。第一步:打开好友对话框,找到需要识别的图片。第二步:点击右下

    2022年5月3日
    41
  • google scholar_google

    google scholar_google利用GoogleScholar进行文献检索

    2022年10月11日
    5
  • python数组操作方法_python的数组怎么用

    python数组操作方法_python的数组怎么用python列表数组类型,用中括号代表,具有顺序关系,可以修改,是最常用的数组bracket=[‘b’,’r’,’a’,’c’,’k’,’e’,’t’]pyhon元组数组类型,用小括号代表,具有顺序关系,不可以修改,是只读型数组,用来保护不需要改变的数据parentheses=(‘p’,’a’,’r’,’e’,’n’,’t’,’h’,’e’,’s’,’e’,’s’)python字典数组

    2025年7月31日
    2
  • 二阶有源带通滤波器滤波原理[通俗易懂]

    二阶有源带通滤波器滤波原理[通俗易懂]转载增加:请注意有源滤波器因为运放的有效识别电压和响应频率的影响,适用于低频信号的滤波,对于高频信号最好使用无缘滤波。名词解释一阶低通滤波器,包含一组RC构成的滤波器,将谐波过滤一次;两阶低通滤波器,包含两组RC构成的滤波器,将谐波过滤两次。同理三阶滤波。。。。以下转载地址http://blog.sina.com.cn/s/blog_61144c49

    2022年5月2日
    228
  • C++中的仿函数使用

    C++中的仿函数使用

    2021年11月20日
    58
  • Android Hook技术详解

    Android Hook技术详解代理模式详解,动态代理原理分析,AndroidHook技术详解以及其在插件化,性能优化上的一些案例分析。

    2022年5月25日
    140

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号