我有
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来做。你能救我吗?
感谢Jakub
答案 0 :(得分:14)
我使用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来自commons-lang。 http://commons.apache.org/lang/api/org/apache/commons/lang/StringEscapeUtils.html
答案 1 :(得分:3)
看看URLConnection。 Sun有一些examples。它有各种子类,支持一些特定的HTTP和HTTPS功能。
答案 2 :(得分:2)
除了Quotidian和Yacoby的纯Java答案之外,你可以尝试像在php中一样执行curl二进制文件。查看如何使用ProcessBuilder
类。
答案 3 :(得分:2)
您可以使用Runtime
拨打getRuntime()
链接到运行时的javadoc。
Here's使用Runtime的一个很好的例子。
Here's使用Runtime或ProcessBuilder的一个不错的例子。
我希望其中一些有用。
答案 4 :(得分:2)
cURL网站链接到Github上的Java Bindings。
答案 5 :(得分:1)
您可以在Java中使用HtmlUnit API
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();