http協議編程
Ⅰ 求助:HTTP協議的C語言編程實現實例
其實用不著學socket,如果是windows的話可以直接調用api,自己去網路windows的網路api吧(這些api大部分都在#include<windows.h>中聲明了,直接調用就行),這個要比socket簡單多,但是編碼轉換就麻煩了
Ⅱ 用純C語言 怎樣編程,解析HTTP協議。
按照HTTP協議的規定,理清楚相關功能。
然後軟體模型的方式解釋HTTP的運行過程,可以使用UML語言。
然後將UML語言轉換成C語言即可。
Ⅲ 求助熟悉http協議,並且有編程實踐的專家
原來的現象也重現了,修改為下面一段,注意while的條件改一下就行了。調試過了沒一點問題了。
while(nws.DataAvailable)
{
byte[]bs=newbyte[0x1000];
len=nws.Read(bs,0,bs.Length);
lst.Add(bs);
}
故障的原因是你的SERVER太急了,數據還沒有收完,就錯誤地認為數據已經收完了,並中斷了數據接收。後面的數據憋在瀏覽器里發不出來,於是瀏覽器就認為這事沒完,就死到那裡等。
Ⅳ 掌握TCP/IP、Http、Soap協議對.NET編程有什麼用
TCP/IP、Http、Soap都是基本的通訊協議。樓主若是行內人士一定知道這些。這里我不妨多說幾句。
通訊協議即網路中(包括互聯網、區域網)傳遞、管理信息的一些規范。常見的協議有:TCP/IP協議、IPX/SPX協議、NetBEUI協議、SOAP協議等。在區域網中用得的比較多的是IPX/SPX。用戶如果訪問Internet,則必須在網路協議中添加TCP/IP協議。
TCP/IP是「transmission Control Protocol/Internet Protocol」的簡寫,它規范了網路上的所有通信設備,尤其是一個主機與另一個主機之間的數據往來格式以及傳送方式。TCP/IP是INTERNET的基礎協議,也是一種電腦數據打包和定址的標准方法.假設伺服器、實現網路通信(比如聊天),不管你是.NET還是其他,一定要了解TCP/IP。
在WEB編程中,服務端是指提供HTTP服務的部分,客戶端是指你使用的瀏覽器。HTTP協議就是實現客戶端和伺服器端的通訊。簡單說就是請求與響應,你提交了什麼,返回個什麼都可以在HTTP里規范。舉個例子,用戶在WEB頁上看到自己的客戶端信息實際是HTTP的2次通訊。
SOAP(Simple Object Access Protocal,簡單對象訪問協議) 技術有助於實現大量異構程序和平台之間的互操作性,根據我有限的了解,SOAP是把成熟的基於HTTP的WEB技術與XML的靈活性和可擴展性組合在了一起。比如我們.NET中的WEB服務,就是基於SOAP
簡單說就是這樣,每一種通訊協議都很復雜,建議樓主多了解HTTP和SOAP。
Ⅳ http 編程中 get 和post 編程有什麼區別
給你做個簡單的介紹:
首先 通過瀏覽器請求資源,現在絕大部分是通過http協議來實現的。
http協議是基於80埠的
下面是一篇http協議的介紹文章鏈接:
http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html
get,post 方式是定義了與伺服器資源交互的兩種方式:
get 方式是通過 url 來傳值的,舉個例子:'../Validate.htm?name=zhangsan';
這種方式是把 請求的內容通過url 傳入了,容易被截取,所以一般傳輸都是通過加密過的,或者直接通過post 方式來傳輸
post 傳輸方式 是把請求的內容,作為http裡面的請求內容傳輸的,本身是通過加密的!
要詳細了解,給你發個鏈接:http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html
這個鏈接講的不錯,可以參考!
Good Luck! 希望能夠幫助到你!
如果幫助到你,請採納!謝謝!
Ⅵ 如何編程用http協議訪問網頁
在Google已安裝完成的介面測試工具的postman的程序之後,點擊進入桌面的chrome應用啟動器。進入到應用啟動器界面中之後,可以看到是postman的應用圖標程序。點擊進入。進入到postman的歡迎的界面中,如果有賬號可以進行點擊登錄賬號,無賬號可以...
Ⅶ 什麼是 HTTPHTTP有什麼作用
超文本傳輸協議,縮寫為HTTP,它是一種用於分布式、協作式和超媒體信息系統的應用層協議,是萬維網的數據通信的基礎,也是互聯網應用最為廣泛的一種網路傳輸協議。最初設計HTTP的目的是為了提供一種發布和接收HTML頁面的方法。HTTP的發展是由蒂姆·伯納斯-李於1989年在歐洲核子研究組織所發起,標准制定由萬維網協會和互聯網工程任務組進行協調,目前HTTP協議中最廣泛使用的版本是HTTP 1.1。
Ⅷ 網路編程什麼是http協議http常用的請求方法是什麼
目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序通常由三部分組成:指令、偽指令和宏指令。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。
編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。
Ⅸ MTK裡面的http協議如何實現
一、MTK平台Socket聯網過程
熟悉PC機編程的人都知道,Socket編程介面分兩套:TCP和UDP;TCP和UDP中又有伺服器端和客戶端的概念,這里講的是TCP的客戶端編程介面。
MTK平台中Socket創建步驟:
1、soc_create()創建Socket;
2、soc_setsockopt設置Socket為非阻塞模式;
3、soc_setsockopt設置Socket選項為連接,讀,寫,關閉;不清楚為什麼要連續設置兩次;
4、如果是CMNET聯網並且請求中用到了英文域名還需要解析域名soc_gethostbyname,除非使用ip作為域名,解析出來的IP作為我們建立連接的目標IP;如果是CMWAP聯網,直接跳到第5步,直接連接移動或聯通的網關:10.0.0.172:80;
5、soc_connect與伺服器建立連接;
6、soc_send發送請求;
7、soc_recv接收伺服器返回的數據;
8、soc_close關閉Socket;
9、如果需要關閉數據賬戶soc_close_nwk_account
二、CMNET,CMWAP方式下的HTTP請求內容格式
HTTP請求格式:
GET方法
MTK平台中模擬器里wap瀏覽器發送的請求內容
1. 「GET/go_13596557HTTP/1.1
2. Host:kong.net
3. User-Agent:SQH_D480B_01/LB19504/WAP2.0Profile
4. Accept:application/vnd.wap.wmlc,**//(想當長,省去後面部分)
5. Accept-Charset:utf-8,utf-16,iso-8859-1,iso-10646-ucs-2,GB2312,windows-1252,us-ascii
6. Accept-Language:zh-tw,zh-cn,en
7. Cookie:JSESSIONID=aAQP0FIXp3z7
8. Connection:Keep-Alive
9. 」
POST方法
對一些需要向伺服器傳入參數的請求,按名稱搜索等請求。還以空中網天氣查詢為例,之中的其他城市天氣查詢,輸入其他城市名稱或電話區號查詢:
1. 「POST/weather/search.jsp?setcity=1HTTP/1.1
2.
3. Host:kong.net
4.
5. User-Agent:SQH_D480B_01/LB19504/WAP2.0Profile
6.
7. Accept:application/vnd.wap.wmlc,*/*//(想當長,省去後面部分)
8.
9. Accept-Charset:utf-8,utf-16,iso-8859-1,iso-10646-ucs-2,GB2312,windows-1252,us-ascii
10.
11. Accept-Language:zh-tw,zh-cn,en
12.
13. Content-Type:application/x-www-form-urlencoded;charset=utf-8
14.
15. Cookie:KONG_ACCESS=AWYZhg==;JSESSIONID=a91MDc6qoMYf
16.
17. Connection:Keep-Alive
18.
19. Content-Length:46//get方法沒有這一項
20.
21. ××××××//傳給伺服器46位元組長的數據(參數)
22.
23. 」
當然如果是CMWAP聯網方式也要和上述的GET方法一樣設置Host和X-Online-Host項,Host:10.0.0.172
1. X-Online-Host:kong.net
以上的內容,可以在調試狀態下運行模擬器的wap瀏覽器,在soc_send方法處插入斷點觀察。
三、CMNET,CMWAP連接差別
1、GPRS賬戶:
與pc機上的socket客戶端介面不同,手機客戶端在soc_create,soc_gethostbyname介面中都多了參數nwt_acount_id,只的是一般在「網路服務」->「數據賬戶」->「GPRS」下的GPRS數據賬戶id,一般起始的一個賬戶id是10,往下遞增1,在建立連接過程中,如果是CMWAP方式聯網,soc_create,soc_gethostbyname介面就要設置接入點為CMWAP的賬戶id,CMNET就要設置接入點為CMNET的賬戶。
2、目標伺服器:
還以空中網的天氣服務為例,CMNET情況下,soc_connect需要連接」221.179.172.2」這個ip,如果請求的url為」http://kong.net/weather/home.jsp」,還需要調用soc_gethostbyname介面去解析域名;
如果是CMWAP方式聯網,soc_connect只需要連接移動或聯動的網關」10.0.0.172:80」。
3、HTTP請求內容格式(或稱報文):
如第二節所述。
還有很長的一段內容的,如果要看詳細的話,自己在闖客網技術論壇搜吧,鏈接我就不放了,因為網路不給我放哈哈~祝你好運
Ⅹ http協議建立連接的過程是怎麼樣的
HTTP協議是在TCP協議之上,所以HTTP協議建立連接的過程就是建立TCP連接的過程。
如果從編程步驟上來講,也就是套接字編程裡面的步驟來說,需要先通過域名獲得伺服器的IP地址,調用相關的API可以完成這一步,然後需要將文本表示的IP地址轉換為套接字編程要求的格式,然後埠號80也要轉換成相應的格式,一般是一個結構體,然後建立套接字,調用connect函數就能建立連接了。比如Linux套接字編程的部分代碼是這樣的:
struct sockaddr_in address;
address.sin_family=AF_INET;
address.sin_port=htons(80); // 埠號
address.sin_addr.s_addr=inet_addr("127.0.0.1");
int len=sizeof(address);
connect(sockfd, (struct sockaddr *)&address, len);
