簡易ブラウジャ〜 for C
■ このスレッドは過去ログ倉庫に格納されています
0001ミリリン
NGNG作れる人いませんか? C言語で。
Winsockの使い方がサッパリわかんなくて泣きそうです。
どなたか、助けてください。m(_ _)m
0002部外者A
NGNGで、ダウンローダーなら簡単に作れますが何か?
多分wgetのソースとか参考になるかと。
HTMLの解釈は面倒なので既存のコンポーネントを使うことを薦めます。
0003部外者B
NGNGそれじゃあ、ソース載っけてみぃ。(´Д`;)
0004部外者A
NGNGこの程度なら資料とテスト環境さえあれば1日で終るしなぁ。
ソースクレ厨房ウザイ
0005部外者A
NGNG○>3
あんたのようなのはウザイ>3
+単発スレ立てるな>1
部外者なのでどうでもいいか。
0006デフォルトの名無しさん
NGNGソケット作ってGET文を吐いてあとは読み込めばいいだけでしょ?
ソースっていったって検索エンジンで出てきそうなものをノッケる必要ないよ。
0007デフォルトの名無しさん
NGNGあ〜勘違い。
0008部外者C
NGNGgethostbynameしてアドレス組み立ててsocket作ってconnectしてっていう順番
は覚えてるんだけど、アドレスの組み立てが覚えられない。何かの構造体を何かに
キャストしてどっかでmemcpyして…てやつ。
で、毎回テンプレートからコピペするのでいつまでたっても覚えられない。
0009名無しさん@1周年
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNGC はめんどい。
0014デフォルトの名無しさん
NGNGそれどころか、HttpURLConnectionクラスで一発。
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNGC で書くのも簡単だよ。 明日までにアップしてあげるから待つべし。
(今は、ちょっと、出先のノートなんで、テンプレートのソースが
手元にない)
001716
NGNG#include <windows.h>
#include <stdio.h>
#define MY_BUF_SIZE 512
#define HOST_ADDRESS "216.218.139.83"
#define HTTP_PORT 80
#define REQUEST_STRING "GET /test/read.cgi?bbs=tech&key=982340516 HTTP/1.0\nHOST: 0.0.0.0\n\n"
void main( int argc, char **argv )
{
SOCKET sock = INVALID_SOCKET;
char buf[MY_BUF_SIZE];
WSADATA wsaData;
struct sockaddr_in host;
int n, ret;
if ( WSAStartup(0x0002,&wsaData) == SOCKET_ERROR ) {
fprintf(stderr,"WSAStartup failed (%d)\n", WSAGetLastError());
WSACleanup();
exit(1);
}
if ( (sock = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) {
fprintf(stderr, "socket() failed (%d)\n", WSAGetLastError());
WSACleanup();
exit(1);
}
memset( &host, 0, sizeof(host) );
host.sin_family = AF_INET;
host.sin_addr.s_addr = inet_addr( HOST_ADDRESS );
host.sin_port = htons( HTTP_PORT );
if ( connect(sock, (struct sockaddr*)&host, sizeof(host)) != SOCKET_ERROR) {
send( sock, REQUEST_STRING, strlen(REQUEST_STRING)+1, 0);
do {
if ( (ret = recv( sock, buf, MY_BUF_SIZE, 0)) > 0 )
for ( n = 0; n < ret; n++ )
putchar( buf[n] );
} while ( ret > 0 );
} else {
fprintf(stderr,"connect() failed (%d)\n",WSAGetLastError());
}
closesocket( sock );
WSACleanup();
}
001816
NGNG現実には、Async な処理しないと使い物にならないんだけど、
「さっぱり分からない」という人のレベルに合わせてるよ。
0019名無しさん@1周年
NGNG今でもやっているぞ。telnet でポート 80 叩くの。
それよか 1 はどこ行った?
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています