飞燕姐,请教你个问题
本帖最后由 richfox 于 2012-1-10 22:16 编辑飞燕姐。请问下C#调用一些网站上的API很困难吗?有没有哪里可以找到资料的?我在网上搜索 “C#调用API” 结果出来的都是比较杂乱的!
等你忙完了,可以帮帮我吗?
:) 回复 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.advertcn.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怎么获取和访问就应该能自己摸上路了。
具体代码我是不会给你的,要说起来,也不是几句话能说清楚的,但是写这些就是思路问题,思路对了,你再去按照思路找教材,会有很大的进步。 英文赚钱圈子,难得有这么热心的人呀 大爱燕子姐,燕子姐真是德艺双馨啊。 还真是有耐心,不愧是飞燕哪! 回复 2# 月光飞燕
你讲得很仔细,非常感谢你抽出时间来回答我的问题,我昨天搜索 C#调用API 后,出来的结果的确是调用WINDOWS本身的。通过你的文章,我了解很多拉!其实昨天我还想问,调用后返回的是什么类型的结果集,发现你也已经在里面讲了,!你真是太细心了! 还是有技术吃香啊:L 佩服佩服,飞燕姑娘技术好、人品也好,而且又耐心热情! 第一次到这个版块,看一下。 我也想知道,谢谢。 计算机首先得学习好英文啊 LZ技术好,人品好!热心助人! 回复 4# feixingyuan000
是啊,我们想说的都被你说完了 受益匪浅!有才,学习中 过来学习学习··· 好好学习学习 回复 2# 月光飞燕
想不到飞燕姐还是技术高手,佩服佩服 不懂技术啊
页:
[1]