0
HtmlUnit與遠程服務器的通信基於底層HttpClient,後者允許通過以編程方式提供憑據來訪問需要身份驗證的網站。沒有通過登錄表單及其元素,是否可以用HtmlUnit做同樣的事情?是否可以通過提供憑證而不處理表單來驗證HtmlUnit?
HtmlUnit與遠程服務器的通信基於底層HttpClient,後者允許通過以編程方式提供憑據來訪問需要身份驗證的網站。沒有通過登錄表單及其元素,是否可以用HtmlUnit做同樣的事情?是否可以通過提供憑證而不處理表單來驗證HtmlUnit?
您可以使用
webRequest.setAdditionalHeader() or webClient.addRequestHeader()
如果我理解你的問題,你想要做的,而不模擬形式點擊一個要求嗎?您可以使用POST方法使用WebRequest API
private HtmlPage login(String name, String pass) {
WebRequest requestSettings = new WebRequest(new URL(myUrlLoginString), HttpMethod.POST);
// Set the request parameters
ArrayList<NameValuePair> requestParameters = new ArrayList<NameValuePair>();
requestParameters.add(new NameValuePair("login", name));
requestParameters.add(new NameValuePair("password", pass));
requestParameters.add(new NameValuePair("x", "66"));
requestParameters.add(new NameValuePair("y", "28"));
requestSettings.setRequestParameters(requestParameters);
Page page = webClient.getPage(requestSettings);
return (HtmlPage) page;
}