2009-01-09 23 views
0

如果有任何幫助,C#的WebRequest中也有類似的類。儘管我不想在java或.NET中使用它,但我想知道如何在本機C/C++代碼(用於Windows)中實現此功能。在C中實現Java的getResponseCode()?

供參考:

try { 

URL url=new URL("http://google.ca"); 
HttpURLConnection con=(HttpURLConnection)url.openConnection(); 
con.connect(); 
int code = con.getResponseCode(); 
System.out.println(code); 

} catch (MalformedURLException e) { 
System.err.println("Error reading URL."); 
} 

打印出:

200 

意爲 「OK」

我明白我可能需要使用套接字和發送用戶代理字符串,但我沒有線索從哪裏開始。每當我學習一種新語言時,我首先想做的事情就是嘗試移植我的代碼,但是這一個讓我難住了。

任何幫助表示讚賞

回答

2

標準C庫沒有HTTP支持。

所以,你有兩個選擇 - 使用第三方HTTP庫,如AR libcurl,或處理HTTP自己:

  • 開放式插槽
  • 解析主機名
  • 連接到服務器
  • 構建HTTP請求
  • 發送請求到服務器
  • 接收HTTP響應
  • 解析響應並從中獲取響應代碼。