过期域名预定抢注

 找回密碼
 免费注册

飛燕姐,請教你個問題

 火... [複製鏈接]
發表於 2012-1-10 22:10:16 | 顯示全部樓層 |閱讀模式
本帖最後由 richfox 於 2012-1-10 22:16 編輯 , a# T& B  |. _* H! v% t
: r: ?' D+ X; `( D0 a, f
飛燕姐。請問下C#調用一些網站上的API很困難嗎?有沒有哪裡可以找到資料的?我在網上搜索 「C#調用API」 結果出來的都是比較雜亂的!
! x: r3 _8 Y% p8 j
1 z% H, r: y2 g; S等你忙完了,可以幫幫我嗎?6 w4 {% k. i3 [: _8 _2 l

+ w$ z6 C/ `$ L- }/ J& Z
發表於 2012-1-10 23:25:06 | 顯示全部樓層
回復 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
具體代碼我是不會給你的,要說起來,也不是幾句話能說清楚的,但是寫這些就是思路問題,思路對了,你再去按照思路找教材,會有很大的進步。

評分

參與人數 6點點 +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# 月光飛燕
, `. i, |/ i: Q& y. I' ?' {" n$ v$ T  e* m7 P$ X9 ?  ]3 E7 ]
& G. a  t/ q9 f" d2 a* ^1 G# D. U/ w
    你講得很仔細,非常感謝你抽出時間來回答我的問題,我昨天搜索 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 | 顯示全部樓層
我也想知道,謝謝。
回復 给力 爆菊

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 免费注册

本版積分規則

點基

GMT+8, 2025-12-12 08:27

By DZ X3.5

小黑屋

快速回復 返回頂部 返回列表