【问题标题】:Implementing Java's getResponseCode() in C?在 C 中实现 Java 的 getResponseCode()?
【发布时间】:2010-09-30 10:24:46
【问题描述】:

如果有帮助的话,C#的WebRequest中也有一个类似的类。虽然我不希望在 java 或 .NET 中使用它,但我想知道如何在本机 C/C++ 代码(适用于 Windows)中实现它。

供参考:

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

意思是“好的”

我知道我可能需要使用套接字并发送一个用户代理字符串,但我不知道从哪里开始。每当我学习一门新语言时,我喜欢做的第一件事就是尝试将我的代码移植到它上面,但是这个让我很难过。

感谢任何帮助

【问题讨论】:

    标签: java c winsock porting


    【解决方案1】:

    标准 C 库中不支持 HTTP。

    所以您有两个选择 - 使用 3rd-party HTTP 库,例如 ar libcurl,或者自己处理 HTTP:

    • 打开套接字
    • 解析主机名
    • 连接到服务器
    • 构建 HTTP 请求
    • 向服务器发送请求
    • 接收 HTTP 响应
    • 解析响应并从中获取响应代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-05
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 2015-04-24
      相关资源
      最近更新 更多