-3

I implemented a Java code that can send a request to a remote website and retrieve data from it. But I want the same code in C, but I can't find so much help in the C library. Can any body give me any hints ?

public static String getHTML(String urlToRead) {
        URL url;
        HttpURLConnection conn;
        BufferedReader rd;
        String line;
        String result = "";

        try {
            url = new URL(urlToRead);
            conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            rd = new BufferedReader(
                    new InputStreamReader(conn.getInputStream()));
            while ((line = rd.readLine()) != null) {
                result += line;
            }
            rd.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }

    public static void main(String[] args) throws IOException {
        InetAddress thisIp = null;
        try {
            thisIp = InetAddress.getLocalHost();
        } catch (UnknownHostException e1) {
            e1.printStackTrace();
        }
        System.out.println(getHTML("http://api.hostip.info/get_html.php?ip="
                + thisIp.getHostAddress()));
    }
4

1 に答える 1

2

Cには、標準のJavaライブラリのようなWebサイトを便利に取得するための機能はありません。

libcurlを使用することができます。これは、それを実行したり、すべてを自分でソケットに書き込んだりするのに非常に便利な方法です。その場合は、最初にCネットワークプログラミングに精通していると思います。Beejのネットワークプログラミングガイド

于 2013-03-21T13:37:48.707 に答える