0

下面有一个java示例代码。它可以使用charset utf-8向服务器发送http post请求。我怎样才能在linux c程序中做同样的事情?

private String message = "3";
private String trading = "AAAAA";
private String document = "BBBBB";
private String targetURL = "http://10.1.2.3/param";

HttpPost httppost = new HttpPost(targetURL);

List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("message", message));
params.add(new BasicNameValuePair("trading", partner));
params.add(new BasicNameValuePair("document", document));
params.add(new BasicNameValuePair("requestMessage", requestMsg));

HttpEntity request = new UrlEncodedFormEntity(params, "UTF-8");
httppost.setEntity(request);


HttpResponse httpResponse = httpclient.execute(httppost);
HttpEntity entity = httpResponse.getEntity();
String result = null;
if (entity != null) {
    result = EntityUtils.toString(entity);
}

在 Linux C 中,什么 http post 请求可以达到与 java 代码剂量相同的目标?eg.如何将字符集设置为 utf-8 并且:“message”、“trading”、“document”在 http post 请求的头部或正文中?

这两个问题真的让我很困惑。

4

1 回答 1

3

与 Java C 相反,它的库中没有标准的 http 客户端(但是,您在 Java 示例中使用 Commons HTTPClient,也是第三方库),因此您必须选择实现此功能的第三方库功能。有几十种可供选择,从快速和肮脏到多协议所有唱歌和跳舞的libcURL。在 libcURL 站点上,您甚至可以找到他们的竞争对手(也称为替代品)的列表。

哪一个是“最好的”?这在很大程度上取决于您认为重要的内容,但是 libcURL 有很好的文档记录,并附带大量示例——尤其是这个示例,因为它非常接近您想要的内容。由于它的受欢迎程度,它也将在遇到麻烦时更容易找到帮助。它甚至在这里有自己的标签

于 2013-07-09T17:17:35.410 回答