飞燕姐,请教你个问题

  [复制链接]
查看: 3346   回复: 17
发表于 2012-1-10 22:10:16 | 显示全部楼层 |阅读模式
本帖最后由 richfox 于 2012-1-10 22:16 编辑

飞燕姐。请问下C#调用一些网站上的API很困难吗?有没有哪里可以找到资料的?我在网上搜索 “C#调用API” 结果出来的都是比较杂乱的!

等你忙完了,可以帮帮我吗?

飞燕姐,请教你个问题
发表于 2012-1-10 23:25:06 | 显示全部楼层
回复 1# richfox

C#很强大,除了系统底层操作不方便以外,基本上可以做任何事情,缺点是速度比较慢。
API简单可以分为2种,
1是windows API,你在网上搜索“C#调用API” 有很多调用windows api的例子。windows api其实就是windows自己的函数,使用它可以完成系统能做的各种事情,这些教材多如牛毛。
2.网站的api,首先你要理解,网站的api是什么,网站的api通常都是一个url地址,它不是函数的概念。它的用处,就是你访问了这个地址后,得到这个地址返回的源代码,你根据这个源代码,分析出你想要的数据。

C#可以调用网站API吗,当然可以,而且非常简单,但是你搜索错了词,你搜索出来都是调用windows api的例子。这里你要明白,C#是怎么调用外部网站的API的,其实无论任何语言,都是通过访问网页调用API的,意思就是访问网页url。C#也不例外。所以你一旦找到C#访问网页的例子,就可以学会怎么调用api。

下面给你说一下怎么使用语言调用网站API例子
1.申请允许使用api权限,比如广告中国代理平台的api使用权限必须买,比如google api必须注册帐号,还有其他网站的api,有各种不一样的条件,你先满足了这些条件,得到允许使用api的权限。
2.分析api链接
广告中国代理平台
http://d.cnwebmasters.com/ycenter/p/iplist/uid/2097/lv/L1,L2,L3/prop/all/format/1/num/100/country/US/
这个api就是一个url链接,目的是获取美国的全部代理,但是这个链接会有ip访问的限制

豆瓣图书查询
http://book.douban.com/isbn/xxxxxxxxx/    (xxxxxxxxx是图书的ISBN编号)
这个api链接,有几点要求,首先,你要有豆瓣帐号对吧,然后后面的xxx要替换成你想查询的图书编号对吧

分析api链接的目的,就是分析出第2层需要满足的条件,比如链接是否要代参数,是否有ip访问限制等

3.通过相应语言的http访问方式来进行这些api链接的访问
C#的访问网页方式有很多种,你应该在教科书看到各种访问网页的方式,比如使用wininet,具体的代码,你要多翻教材了,访问网页的方式是很多的,访问后,将得到的api链接源代码储存到一个字符串变量中。

4.你最终得到的这个字符串变量,就是你访问后的结果,但是你可能需要的只是这个结果里面的某些部分,或着你认为这个结果的格式不对,不方便储存,或不方便显示在网页上。你要做的就是通过’C# 字符串函数‘将这些结果分解成你自己想要的,或者你基础不错,使用正则函数分解。这个结果,有可能是xml格式,有可能是json格式,还有可能是自定义的格式,如果你使用C#相应的函数去解析,会方便很多,如果格式不通用,就自己通过字符串函数解析就可以了。

5.解析后,你的结果就精简了,符合你自己的格式了,那么你可以选择保存进数据库或者显示在网页上。

做到了以上的内容,你对第3方网站api怎么获取和访问就应该能自己摸上路了。
具体代码我是不会给你的,要说起来,也不是几句话能说清楚的,但是写这些就是思路问题,思路对了,你再去按照思路找教材,会有很大的进步。

评分

参与人数 6T币 +13 收起 理由
xawnu + 1
richfox + 1
tzy + 4
swqlgcj + 5
lwbing + 1
lck1115 + 1 好人

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2012-1-10 23:30:08 | 显示全部楼层
英文赚钱圈子,难得有这么热心的人呀
回复 支持 反对

使用道具 举报

发表于 2012-1-11 09:06:50 | 显示全部楼层
大爱燕子姐,燕子姐真是德艺双馨啊。
回复 支持 反对

使用道具 举报

发表于 2012-1-11 09:07:52 | 显示全部楼层
还真是有耐心,不愧是飞燕哪!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-1-11 17:53:27 | 显示全部楼层
回复 2# 月光飞燕


    你讲得很仔细,非常感谢你抽出时间来回答我的问题,我昨天搜索 C#调用API 后,出来的结果的确是调用WINDOWS本身的。通过你的文章,我了解很多拉!其实昨天我还想问,调用后返回的是什么类型的结果集,发现你也已经在里面讲了,!你真是太细心了!
回复 支持 反对

使用道具 举报

发表于 2012-1-12 17:03:22 | 显示全部楼层
还是有技术吃香啊飞燕姐,请教你个问题
回复 支持 反对

使用道具 举报

发表于 2012-1-12 20:17:56 | 显示全部楼层
佩服佩服,飞燕姑娘技术好、人品也好,而且又耐心热情!
回复 支持 反对

使用道具 举报

发表于 2012-2-5 21:41:53 | 显示全部楼层
第一次到这个版块,看一下。
回复 支持 反对

使用道具 举报

发表于 2012-2-10 19:43:39 | 显示全部楼层
我也想知道,谢谢。
回复 支持 反对

使用道具 举报

发表于 2012-3-31 09:29:15 | 显示全部楼层
计算机首先得学习好英文啊
回复 支持 反对

使用道具 举报

发表于 2012-4-10 17:35:12 | 显示全部楼层
LZ技术好,人品好!热心助人!
回复 支持 反对

使用道具 举报

发表于 2012-4-16 09:54:03 | 显示全部楼层
回复 4# feixingyuan000


    是啊,我们想说的  都被你说完了
回复 支持 反对

使用道具 举报

发表于 2012-6-5 18:38:29 | 显示全部楼层
受益匪浅!有才,学习中
回复 支持 反对

使用道具 举报

发表于 2012-6-6 14:14:27 | 显示全部楼层
过来学习学习···
回复 支持 反对

使用道具 举报

发表于 2012-11-4 14:55:37 | 显示全部楼层
好好学习学习
回复 支持 反对

使用道具 举报

发表于 2012-12-7 01:47:05 | 显示全部楼层
回复 2# 月光飞燕


    想不到飞燕姐还是技术高手,佩服佩服
回复 支持 反对

使用道具 举报

发表于 2012-12-19 15:16:54 | 显示全部楼层
不懂技术啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则