у меня было
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. Вы можете мне помочь?
Спасибо, Якуб
Я использую методы 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
Взгляните на URLConnection . У Sun есть примеров . Он имеет различные подклассы, которые поддерживают некоторые специфические функции HTTP и HTTPS.
Сайт cURL ссылается на Привязки Java на Github.
Вы можете выполнять команды в Java, используя Runtime с вызовом getRuntime()
Runtime
getRuntime()
ссылка на javadoc для среды выполнения.
Вот хороший пример использования Runtime.
Вот хороший пример использования Runtime или ProcessBuilder.
Я надеюсь, что это поможет.
в дополнение к чистым Java-ответам Quotidian и Yacoby вы можете попробовать выполнить бинарный файл curl как в php. Узнайте, как использовать класс ProcessBuilder.
ProcessBuilder
Вы можете использовать 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();