LINUX.ORG.RU

Java и HtmlUnit

 ,


0

1

Очень поверхностно знаю java, так вот, пытаясь создать POST запрос, столкнулся с проблемой: requestParameters.add(new NameValuePair(«name»,«value»)); выводит ошибку если оба строковых аргумента заполнены, если один из них null, то все нормально. Не могу понять, что не так?

Код:

import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Arrays;
import java.util.logging.Level;
import org.omg.DynamicAny.NameValuePair;
import org.omg.Dynamic.*;
import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlDivision;
import com.gargoylesoftware.htmlunit.html.HtmlSpan;
import com.gargoylesoftware.htmlunit.html.HtmlTextArea;
import com.gargoylesoftware.htmlunit.html.HtmlSelect;
import com.gargoylesoftware.htmlunit.html.HtmlButton;
import com.gargoylesoftware.htmlunit.html.HtmlInput;
import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
import com.gargoylesoftware.htmlunit.html.HtmlPasswordInput;
import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
import com.gargoylesoftware.htmlunit.javascript.host.KeyboardEvent;
import com.gargoylesoftware.htmlunit.WebRequest;
import com.gargoylesoftware.htmlunit.HttpMethod;

public class testpost {
	
	static HtmlPage resultpage;

public static void createpost (WebClient webClient) throws IOException {
    	WebRequest requestSettings = new WebRequest(new URL("адрес"), HttpMethod.POST);
    	ArrayList<NameValuePair> requestParameters = new  ArrayList<NameValuePair>();
    	requestParameters.add(new NameValuePair("name","value"));
    	HtmlPage page = webClient.getPage(requestSettings);
    }
    
	public static void main(String[] args) throws Exception {
java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(Level.OFF);
        WebClient webClient = new WebClient(BrowserVersion.CHROME_16);
        webClient.setAjaxController(new NicelyResynchronizingAjaxController());
        
        createpost(webClient);        
        
        System.out.println(resultpage.asXml());
        webClient.closeAllWindows();
        }
	}



Последнее исправление: makeB (всего исправлений: 1)

org.omg.DynamicAny.NameValuePair

Это, скорее всего, не тот NameValuePair. У него конструктор (String, Any). Вот нужный:

com.gargoylesoftware.htmlunit.util.NameValuePair

У него (String, String).

proud_anon ★★★★★
()
Последнее исправление: proud_anon (всего исправлений: 1)
Ответ на: комментарий от makeB

У тебя в топике HtmlUnit, в коде импортирован org.omg, а теперь ты дал ссылку на ещё один NameValuePair, отличный от первых двух. Так который тебе нужен?

Подсказка IDE «Вам, наверное, нужно импортировать этот пакет» не всегда показывает именно тот пакет, который надо.

proud_anon ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.