線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2049
推到 Plurk!
推到 Facebook!

有關UNIX 上使用C語言資訊

答題得分者是:暗黑破壞神
HikaruGo
中階會員


發表:22
回覆:69
積分:88
註冊:2007-12-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-05-23 18:45:47 IP:61.62.xxx.xxx 訂閱
 請教:

有關UNIX 上使用C語言,開發 Socket Client 走 (Http)
需要使用什麼 開發軟體,
或有什麼Library可以使用??



暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-05-23 23:16:31 IP:122.118.xxx.xxx 未訂閱
GCC
===================引 用 HikaruGo 文 章===================
請教:

有關UNIX 上使用C語言,開發 Socket Client 走 (Http)
需要使用什麼 開發軟體,
或有什麼Library可以使用??


HikaruGo
中階會員


發表:22
回覆:69
積分:88
註冊:2007-12-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-05-26 11:51:34 IP:61.62.xxx.xxx 訂閱
有找到一個Lib可以用
http://sourceforge.net/projects/chttpclient/

在Win 用VS2005可以Build過Test 也正常
,

在Linux(SUSE) gcc 編譯問題就很多的, #include <-- 似乎看不到此宣告


但作者說明可以支援多個OS平台.


(
Highly portable API written in C that implements the client side of the HTTP 1.1
protocol as defined in RFC 2616,2617.
Can be ported to any platform that supports standard C and Berkeley sockets.
)

不知我那理有需求調整,

還是有其它的Lib可以使用(C)

Thanks.
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-05-26 15:30:21 IP:140.134.xxx.xxx 未訂閱
你到底是要用在那個平台?
Linux? M$ Window?
===================引 用 HikaruGo 文 章===================
有找到一個Lib可以用
http://sourceforge.net/projects/chttpclient/

在Win 用VS2005可以Build過Test 也正常
,

在Linux(SUSE) gcc 編譯問題就很多的, #include <-- 似乎看不到此宣告


但作者說明可以支援多個OS平台.


(
Highly portable API written in C that implements the client side of the HTTP 1.1
protocol as defined in RFC 2616,2617.
Can be ported to any platform that supports standard C and Berkeley sockets.
)

不知我那理有需求調整,

還是有其它的Lib可以使用(C)

Thanks.

HikaruGo
中階會員


發表:22
回覆:69
積分:88
註冊:2007-12-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-05-26 15:36:34 IP:61.62.xxx.xxx 訂閱
目標:SCO UNIX 

目前沒有SCO UNIX OS, 只能用SUSE Live CD gcc去測

在 Source Force 有找到

inetsock (C http warpper)Library


可以Build過 不過Run 起來 沒有回 (http 內容)
HikaruGo
中階會員


發表:22
回覆:69
積分:88
註冊:2007-12-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-05-26 17:49:21 IP:61.62.xxx.xxx 訂閱
   目前使用 inetsock  Library 可以正確回,Http 內容了,差在要多一個"GET\n" 才會回,Sample無GET所以一直卡住..




#define str3 "GET\n"



int main( int argc, char **argv ) {
int sockfd;
int nb;
char buffer[BUFSIZ];

if( argc <= 2 ) {
printf("USAGE: iclient \n");
exit( -1 );
}
sockfd = internet_connect( argv[1], atoi( argv[2]) );
printf("sockfd=(%d)\n",sockfd);
write( sockfd, str3, strlen( str3 ) );

while( (nb = read( sockfd, buffer, BUFSIZ-1 ) ) > 0 ) {
buffer[nb] = '\0';
printf("read (%d): %s\n", nb, buffer );
}

close( sockfd );
printf("close\n");
return EXIT_SUCCESS;
}


通訊層算解決了,(只是未在SCO上TEST)


有C 的XML Parser ? (因為Response Data需要處理,)

在UNIX上開發真的有點難度(My First App)

編輯記錄
HikaruGo 重新編輯於 2008-05-26 17:50:18, 註解 無‧
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-05-26 17:55:03 IP:60.249.xxx.xxx 未訂閱
這個部份你去看rfc吧。
你可以試試 telnet hostname 80
然後你下 GET /\n\n
這樣可以取得它的 html
不過。這樣並沒有取回 virtual host 的資料。
你可以再看到
telnet hostname 80
GET http://url/xxx.html\n\n
這樣可以取得 url 的內容。
這些資料都放在 RFC 裏面。你可以自己去查看的。
要寫 socket,我就不知道你為什麼還要再找什麼lib 了。
~_~
===================引 用 HikaruGo 文 章===================
目前使用 inetsock Library 可以正確回,Http 內容了,差在要多一個"GET\n" 才會回,Sample無GET所以一直卡住..




#define str3 "GET\n"



int main( int argc, char **argv ) {
int sockfd;
int nb;
char buffer[BUFSIZ];

if( argc <= 2 ) {
printf("USAGE: iclient \n");
exit( -1 );
}
sockfd = internet_connect( argv[1], atoi( argv[2]) );
printf("sockfd=(%d)\n",sockfd);
write( sockfd, str3, strlen( str3 ) );

while( (nb = read( sockfd, buffer, BUFSIZ-1 ) ) > 0 ) {
buffer[nb] = '\0';
printf("read (%d): %s\n", nb, buffer );
}

close( sockfd );
printf("close\n");
return EXIT_SUCCESS;
}


通訊層算解決了,(只是未在SCO上TEST)


有C 的XML Parser ? (因為Response Data需要處理,)

在UNIX上開發真的有點難度(My First App)


系統時間:2024-04-25 15:10:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!