0

キリル文字にPOSTリクエストを投稿するときにこの問題が発生します。私はJSoupを使用していて、これに似たものを試しましたが、サイトはwin1251エンコーディングを使用しています

。ヘッダー( "Content-Type"、 "application / x-www-form-urlencoded; charset = UTF-8")

しかし、それは機能していませんか?何が問題になる可能性があります

4

2 に答える 2

0

jsoupコード(XMLHttpRequest呼び出しを含む)を変更せずにこれを解決する方法を見つけました:

:サイトは、ラップしているサイトに関する情報を含む自分のBeanです。

String postParams[]=null;
if (site.isPostRequest()) {
    String urlParams[]=url.split("\\?");
    url=urlParams[0];
    postParams=urlParams[1].split("[=|&]");
}
Integer timeout=site.getTimeout();
if (timeout==null)
    timeout=2*1000;
if (StringUtil.isEmpty(site.getEncoding()))
    site.setEncoding(UTF_8);
URL _url=new URL(url);
URLConnection con=_url.openConnection();
con.setConnectTimeout(timeout);
if (site.isPostRequest()) {
    Connection con2=Jsoup.connect(url);
    if (site.isXMLHttpRequest()) {
        con2.header("X-Requested-With", "XMLHttpRequest");
        con2.referrer(site.getProtocol()+site.getDomain());
    }
    con2.header("Accept-Charset", site.getEncoding());
    con2.data(postParams);
    doc=con2.post();
    doc.outputSettings(doc.outputSettings().charset(site.getEncoding()));
} else {
    if (site.isXMLHttpRequest()) {
        con.setRequestProperty("X-Requested-With", "XMLHttpRequest");
        con.setRequestProperty("referrer",site.getProtocol()+site.getDomain());
    }
    doc=Jsoup.parse(con.getInputStream() , site.getEncoding(), url);
}
于 2013-07-31T07:15:25.247 に答える
-2

問題が解決しました。jsoupのソースコードを編集して動作させました。

于 2012-07-28T09:24:27.420 に答える