问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用C/C++模拟post提交数据,获得http相应。5

发布网友 发布时间:2023-09-13 14:23

我来回答

5个回答

热心网友 时间:2024-12-02 03:36

以下方法用CURL提交post表单

1. 编译环境.
安装vs2010或其他版本. vs2010 express版也可以。不要低于vc6.

2. 搜索curl-7.25.0.zip,下载。
解压到c:\curl-7.25.0

打开Visual Studio Command Prompt (2010)
cd \curl-7.25.0\winbuild
nmake /f Makefile.vc mode=dll USE_SSSPI=no ENABLE_IDN=no

编译成功后 cd ..\builds
到一个名字为libcurl-....lib的子目录里找到libcurl.dll和libcurl.lib, 保存到一个目录下备份,下面要用。

3. 打开vc++ 2010, File->New project,选Win32 Project, 输入一个项目名。下面点Next,勾上Console Application和Empty Project.

4. 配置项目
到我的文档下找到vs2010 projects目录,找到 solution名字\项目名字 目录,
把curl-7.25.0目录下的include目录拷贝到项目目录下
把2备份好的libcurl.dll和libcurl.lib拷贝到项目目录.
在vc++中右键点击项目名(或Alt+F7), 点开Configuration Properties, 点vc++directories
点Include Directories, 点Edit, 添加$(ProjectDir)include 确定
在点击左侧的Linker, 点Input,点Additional Dependences, 点Edit, 添加一行$(ProjectDir)\libcurl.lib 确定

5. 代码。
右键点项目名字,Add New Item->C++ File, name写main.c, 输入代码:
/* 抱歉,这里不好贴链接,版权没法贴,版权去看http-post.c */
#include <stdio.h>
#include <curl/curl.h>
#include <stdlib.h>

int main(void)
{
CURL *curl;
CURLcode res;

curl = curl_easy_init();
if(curl) {
/* First set the URL that is about to receive our POST. This URL can
just as well be a https:// URL if that is what should receive the
data. */
curl_easy_setopt(curl, CURLOPT_URL, "这里写网址");
/* Now specify the POST data */
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "name=daniel&project=curl");

/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);

/* always cleanup */
curl_easy_cleanup(curl);
system("pause");
}
return 0;
}

点vc++绿色的三角编译运行。

热心网友 时间:2024-12-02 03:36

wget是用C语言编写的一种命令行式浏览器,可以下载全部的源代码,它不是模拟POST提交数据,而是完整地实现了所有POST和GET功能。

这里是GNU自由版本的WGET源程序下载:
http://www.gnu.org/software/wget/追问要的是模拟post提交啊

追答不是一回事儿吗!!!只是告诉你这个功能更强大,更清晰

热心网友 时间:2024-12-02 03:37

wget是用C语言编写的一种命令行式浏览器,可以下载全部的源代码,它不是模拟POST提交数据,而是完整地实现了所有POST和GET功能

热心网友 时间:2024-12-02 03:38

http协议有不少内容。post是把数据写到协议头的后面。
比如要传输“abc”
首先是头部分,后面是数据部分
POST /aaa.asp HTTP1.1
......
\r\n\r\n
abc
类型这样的数据用tcp传就ok

热心网友 时间:2024-12-02 03:38

用libcurl, win下用vc++的使用方法在这里。
http://zhidao.baidu.com/question/420629073.html

如果在Linux下,更简单。追问还要检测出成功登陆才行,并且导出登录日志。

追答看 curl-7.25.0/docs/examples/url2file.c

不会有支持所有“成功登陆“的函数。你需要自己判断,如: 说查找特征字符串。网站返回的数据在自定义的WRITEFUNCTION里。

你可能需要打开对Cookie的支持。curl_easy_setopt(handle, CURLOPT_COOKIEFILE, "");
更多去libcurl主页看文档和api. 搜索libcurl.

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见和同性发生关糸了 梦见和同性朋友发生亲密关系 学生党如何科学护肤? 学生党该怎么基础护肤? 有什么美容护肤的技巧适合学生党? 怎么@全部成员啊? 新洲摩尔城一楼小吃租金多少 武汉王家湾有哪些广场 你好 请问 晚上6点开始 学瑜伽 可以吗? 因为我想在下班时间去 锻炼锻 ... 电脑联网有哪些条件台式电脑无线上网需要具备哪些条件 怎么看小米手机的所用的系统呀 小米怎么知道自己是系统1还是系统2,,最原始的时候有第2 个系统吗? 青岛公积金一年之内可以提取几次?1 坐地铁去十里河花鸟鱼虫市场,请问哪个口出?出去怎么走?7 天津鱼虫花鸟市场有几路地铁到 千里堤花鸟鱼虫市场坐地铁从哪下车10 12V,20ah铅酸蓄电池工作时,放电电流是多少?12 社会经济权利是什么意思?15 120AH水电瓶的用多大电流充电,20AH干电瓶的用多大电流...46 新电瓶用几天充电 php 提交post数据的问题1 刚获得post graduate 工作签证但我的VISA已经...10 山东青岛提取公积金需要哪些材料2 青岛市住房公积金提取都需要提交什么材料啊?4 穿越小说,穿越到洪荒,主角特别厉害,收了三个徒弟,一个是石头...15 急求一份英文自我介绍,5星级酒店面试用61 明天要去五星级酒店面试前台,自我介绍还没有,急呀,请那个大虾...1 明天要面试一个五星级酒店的前台 求英语自我介绍89 我人工授精后第十二天测没怀孕是不是失败 ThinkPad e540 显示 ThinkPad onel...11 和情人分手后我忍不住想要发信息给他了? 被猫咬了,没出血,没破皮需要打针吗?183 分手后还有时跟你联系发短信说些无关痛痒的事儿是什么意思,难倒...6 被家猫咬了一口 没破皮要打针吗45 被猫咬没破皮也没出血用不用打针2 从金马剧院地铁站坐地铁如何到广州花鸟鱼虫市场?2 用4A的电流给32A的电瓶充电,多长时间能充满 电动车充电器DC48V 4A是给多大电瓶充电的?9 免征房屋买卖个人所得税的5年期限是按入住时间计算还是按取得房...34 12v20a蓄电池用jb-20a充电器充满要多少时间2 请问房产出售计算的5年内需要营业税和个人所得税的计算时间怎么...6 12v4a的冲电器可以给12v50ah电瓶充电吗?需要冲多长...3 我有个12伏20a的电瓶……用12伏40a的充电器使一当冲电...1 【!!高分!!】出售二手房不足5年的房产税是按照购房合同交款...12 学院组织的社会实践活动,去五星级酒店面试,用英语说几句自我介... 商品房购房时间,是按房产证上的时间计算,还是按契税证上的时间...21 我想去五星级酒店面试前台,我的条件可以吗? 房子买卖要满五年才能免营业税,那按什么时间算起呢、38 大家好我是一名大专在读生.要去一家五星级酒店参加服务生面试要...27 房子是否满5年 是按照什么时间来算的?多谢!78