CC++怎么实现post数据提交?

CC++怎么实现post数据提交?,第1张

以下方法用CURL提交表单

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++绿色的三角编译运行。

1.首先,开发的朋友如不熟悉这个,先自己到百度一个,这里我就不介绍Fiddler2了哦。

2.了解后,自己去下载个,貌似Fiddler2下载网址不能放额,自己也百度搜索下,很方便下载的。

3.记得自己下载后,安装电脑,恩,然后一切准备就绪。

1.打开我们Fiddler2程序,开始咯(这个刚好英文版的,可以去下载汉化包)

这个要根据图片来,图中标记需要分别介绍下

图标记1:   这个是请求状态和结果的显示区域

图标记2:   请求的方法选择,常用的就是POST请求和GET请求方式

图标记3:   请求的地址输入框

图标记4:   我们提交的数据输入框

图标记5:   这个是我们请求的数据头输入框

图标记6:   点击这个Execute按钮,就可以提交我们的模拟请求

首先使用Fiddler2模拟GET请求

1.在地址输入框里面模拟的GET请求地址(已被遮罩了,你们懂得)

2.选择请求的方法,这里我们选择GET方法

3.点击Execute按钮,就可以执行模拟请求

4.在显示区域就可以看到我们刚刚提交的请求

5.直接双击显示区域里面的请求记录,就可以看到我们的GET方法的数据

然后使用Fiddler2模拟POST请求

1.在地址输入框里面模拟的POST请求地址(已被遮罩了,你们懂得)

2.选择请求的方法,这里我们选择POST方法

3.在提交的数据输入框里面输入我们提交的POST数据

3.点击Execute按钮,就可以执行模拟请求

4.在显示区域就可以看到我们刚刚提交的请求

5.直接双击显示区域里面的请求记录,就可以看到我们的POST方法的数据

首先要知道分页显示数据需要哪些参数,包括总共有多少条数据的参数dataCount,每页显示多少条数据的参数pageSize,总共有多少页数的参数pageCount,当前页数(页码)的参数pageIndex。

获取总共多少条数据的参数dataCount非常简单,执行Sql语句“select count(*) from test”就可以拿到dataCount值了,还有一个非常简单的参数就是当前页数(页码)pageIndex默认就是1。

每页显示多少条数据根据网页显示量来设定,假设网页一页显示10,那么pageSize就是10,有dataCount和pageSize值,总共有多少页数也就可以获得了,pageCount=dataCount/pageSize,通过这样计算页数方式获得的数据量一定小于实际的页数,这里就需要用到取顶函数pageCount=1.0*dataCount/pageSize。

关键就是如何通过准备的参数获取数据,还需要用到Sql Server2005及以上版本的数据库才有的给数据库表数据查询时增加序号的函数,这是因为我们存放在数据库的数据没有连续自动增长的编号,借助函数row_number()可以通过按某个字段排序设定序号,方便获取数据准确。

比较两条Sql语句“select * from test”和“select *,row_number() over(order by Test1) as '序号' from Test”查询数据进行比较就会发现在查询结果中会增加一个通过字段Test1排序而产生的一个序号,并且这个序号是连续自动增长的。

接下来创建存储过程,指定参数就可以了。

create proc P_Test--创建存储过程P_Test

@pageSize int,--每页数据条数

@pageIndex int,--当前页数(页码)

@pageCount int output--总的页数,因为需要显示页数,因此是个输出参数

as

declare @datacount int--总数据条数

select @datacount=count(*) from test--获得总数据条数值并赋给参数

set @pageCount=ceiling(1.0*@datacount/@pageSize)--获得总页数,并赋给参数

--接下来是获得指定页数据

select * from

(select *,row_number() over(order by Test1) as num from test) as temp

where num between @pageSize*(@pageIndex-1)+1 and @pageSize*@pageIndex


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10029023.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存