通信のところで凝りたくないので、CLX C++ Libraries を使い、サンプルをいじってでっちあげました。
#include <iostream>
#include <stdio.h>
#include "clx/http.h"
#include "clx/uri.h"
int main(int argc, char* argv[]) {
const char *host = "www.google.com";
char *request;
char buf[1024];
if (argc != 2 ) return 0;
snprintf(buf, sizeof(buf),
"/transliterate?langpair=ja-Hira|ja&text=%s",
argv[1]);
request = buf;
try {
clx::http session(host);
session.get(clx::uri::encode(request));
std::cout << session.body() << std::endl;
}
catch (clx::socket_error& e) {
std::cerr << e.what() << std::endl;
std::exit(-1);
}
return 0;
}
Haiku でこれをビルド (gcc4) すると、clx/unix/socket.h:98:29 でエラーになりますが、幸い (?) INADDR_ANY の値が 0 なので、htonl() を使わず、直接 0 を代入して逃げました。結果!!
なんか、いい感じ?
0 件のコメント:
コメントを投稿