回復 1# richfox ' }- h4 S, N7 b9 s
7 x, W6 A$ y' c/ n$ p& b: Y2 m
C#很強大,除了系統底層操作不方便以外,基本上可以做任何事情,缺點是速度比較慢。/ z6 H$ W9 ^" y
API簡單可以分為2種,) e* ?* _' [5 c( n+ C, U
1是windows API,你在網上搜索「C#調用API」 有很多調用windows api的例子。windows api其實就是windows自己的函數,使用它可以完成系統能做的各種事情,這些教材多如牛毛。
' n% y: i* y& l; X F- @- M( C4 F: W2.網站的api,首先你要理解,網站的api是什麼,網站的api通常都是一個url地址,它不是函數的概念。它的用處,就是你訪問了這個地址後,得到這個地址返回的源代碼,你根據這個源代碼,分析出你想要的數據。% K$ ~: J! z3 q! f' L
; R1 R# ]: F1 E, `$ O& sC#可以調用網站API嗎,當然可以,而且非常簡單,但是你搜索錯了詞,你搜索出來都是調用windows api的例子。這裡你要明白,C#是怎麼調用外部網站的API的,其實無論任何語言,都是通過訪問網頁調用API的,意思就是訪問網頁url。C#也不例外。所以你一旦找到C#訪問網頁的例子,就可以學會怎麼調用api。
9 B; g7 c# g* p5 Y( k- q( `& ~; H) a [1 P0 I+ B, I& r
下面給你說一下怎麼使用語言調用網站API例子
9 j: H. ]* u% d- J1.申請允許使用api權限,比如廣告中國代理平台的api使用權限必須買,比如google api必須註冊帳號,還有其他網站的api,有各種不一樣的條件,你先滿足了這些條件,得到允許使用api的權限。, a, x% ?3 m0 e( k t0 Z" U0 Q) N6 Q% D
2.分析api鏈接
+ g, {2 \7 ~# j; B廣告中國代理平台
) b6 A$ l5 ?* Qhttp://d.advertcn.com/ycenter/p/iplist/uid/2097/lv/L1,L2,L3/prop/all/format/1/num/100/country/US/3 P5 f+ w. g' `
這個api就是一個url鏈接,目的是獲取美國的全部代理,但是這個鏈接會有ip訪問的限制
/ j, R+ E' r: |( p+ d- r# E6 F, [" ~5 x" u# I
豆瓣圖書查詢
4 G: |6 J. F7 dhttp://book.douban.com/isbn/xxxxxxxxx/ (xxxxxxxxx是圖書的ISBN編號)3 q. L( q; x9 ?5 i
這個api鏈接,有幾點要求,首先,你要有豆瓣帳號對吧,然後後面的xxx要替換成你想查詢的圖書編號對吧) Z- k% g& J+ j& g: f9 j
; P6 o( @2 G5 }5 ]3 k+ J" y
分析api鏈接的目的,就是分析出第2層需要滿足的條件,比如鏈接是否要代參數,是否有ip訪問限制等
# x! h$ K% L, s, R0 Y8 h/ ?
; Q3 h0 h1 l1 V+ f- G3.通過相應語言的http訪問方式來進行這些api鏈接的訪問
( g( g5 ]9 s( ZC#的訪問網頁方式有很多種,你應該在教科書看到各種訪問網頁的方式,比如使用wininet,具體的代碼,你要多翻教材了,訪問網頁的方式是很多的,訪問後,將得到的api鏈接源代碼儲存到一個字符串變量中。
5 N7 e& T* S' E+ h7 H5 y! W6 j6 `& K: F) R
4.你最終得到的這個字符串變量,就是你訪問後的結果,但是你可能需要的只是這個結果裡面的某些部分,或著你認為這個結果的格式不對,不方便儲存,或不方便顯示在網頁上。你要做的就是通過』C# 字符串函數『將這些結果分解成你自己想要的,或者你基礎不錯,使用正則函數分解。這個結果,有可能是xml格式,有可能是json格式,還有可能是自定義的格式,如果你使用C#相應的函數去解析,會方便很多,如果格式不通用,就自己通過字符串函數解析就可以了。
, i2 A1 e/ r- C- c- o
. [ t X7 S% W1 Z: p5.解析後,你的結果就精簡了,符合你自己的格式了,那麼你可以選擇保存進數據庫或者顯示在網頁上。
9 g7 V( R) x! c
1 I; \' a8 z0 ]& x& n! M做到了以上的內容,你對第3方網站api怎麼獲取和訪問就應該能自己摸上路了。' c/ g7 E! t, Z% z
具體代碼我是不會給你的,要說起來,也不是幾句話能說清楚的,但是寫這些就是思路問題,思路對了,你再去按照思路找教材,會有很大的進步。 |