эквивалент CURL в Java - PullRequest
       10

эквивалент CURL в Java

4 голосов
/ 28 января 2010

у меня было

exec(
  "curl".
  " --cert $this->_cCertifikatZPKomunikace".
  " --cacert $this->_cCertifikatPortalCA".
  " --data \"request=".urlencode($fc_xml)."\"".
  " --output $lc_filename_stdout".
  " $this->_cPortalURL".
  " 2>$lc_filename_stderr",
  $la_dummy,$ln_RetCode
);

в php.

Я должен сделать это через Java. Вы можете мне помочь?

Спасибо, Якуб

Ответы [ 6 ]

14 голосов
/ 28 января 2010

Я использую методы HttpClient:

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.GetMethod;

вроде так:

HttpClient client = new HttpClient();
HttpMethod method = new GetMethod("http://www.google.com");
int responseCode = client.executeMethod(method);
if (responseCode != 200) {
    throw new HttpException("HttpMethod Returned Status Code: " + responseCode + " when attempting: " + url);
}
String rtn = StringEscapeUtils.unescapeHtml(method.getResponseBodyAsString());

РЕДАКТИРОВАТЬ: Ой. StringEscapeUtils исходит от обыкновенного языка. http://commons.apache.org/lang/api/org/apache/commons/lang/StringEscapeUtils.html

3 голосов
/ 28 января 2010

Взгляните на URLConnection . У Sun есть примеров . Он имеет различные подклассы, которые поддерживают некоторые специфические функции HTTP и HTTPS.

2 голосов
/ 28 января 2010

Сайт cURL ссылается на Привязки Java на Github.

2 голосов
/ 28 января 2010

Вы можете выполнять команды в Java, используя Runtime с вызовом getRuntime()

ссылка на javadoc для среды выполнения.

Вот хороший пример использования Runtime.

Вот хороший пример использования Runtime или ProcessBuilder.

Я надеюсь, что это поможет.

2 голосов
/ 28 января 2010

в дополнение к чистым Java-ответам Quotidian и Yacoby вы можете попробовать выполнить бинарный файл curl как в php. Узнайте, как использовать класс ProcessBuilder.

1 голос
/ 28 января 2010

Вы можете использовать HtmlUnit API в Java

import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;

вроде так:

WebClient webClient = new WebClient();
HtmlPage homePage = webClient.getPage("http://www.google.com");
String homePageString = homePage.asXml();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...