JAVAバックエンド、リンクURLアクセス、特殊文字異常処理


JAVAバックエンド、リンクURLアクセス、特殊文字異常処理
一般的には、フロントエンドがkeywordに入る前に、urlencode処理を行う必要があります。詳細はリンクを参照してください。パラメータ(たとえばkeyword)を手に入れたら、他のurlをつなぎ合わせていく必要があるかもしれません。よくあるエラーは、1、異常:java.lang.IllgalAgmentException:Illal group referenceです。
serviceUrl=geturl().replaceall("",normalize(keyword));
keywordの代わりに、文字エラーが発生した場合、replacceallは正規表現をサポートしています。最初のパラメータは正規表現をサポートしていますので、後のパラメータは$1ドル2のパターンでマッチします。コンパイラが「かかと」が整数ではないことを発見すると、「不正なグループ参照」の異常が発生します。住所のデータを得るには、JDKのurlConnectionを使って、urlConnectionを紹介します。
URL url = new URL("http://www.baidu.com"); 
URI uri = new URI(url.getProtocol(), null, url.getHost(), url.getPort(), url.getPath(), url.getQuery(),null);
String url=uri.toASCIIString();
URL url = 
URLConnection rulConnection = url.openConnection();//    urlConnection        URL  ,     Host,user-agent     
in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
    resultBuffer.append(line);
}//          
解決方法の一つはreplaceをreplace関数に変えることです。今言っている他の2つのピットは、「〓」と「〓」の文字です。2、コシ。URLの中の㌦号はリンクが終了したことを表しています。URLの中のㄉの後の文字は位置識別子として認識されています。識別タグやその他の用途として使用されています。つまりㄉの後の文字は全部入ってこないので、後ろのパラメータが入ってこない可能性があります。異常タイプが多いです。問題の原因は先端からパラメータが入るとurlencodeがあります。また、私達が使っているURI関数には符号化機能がありますが、URIは符号化されていません。以上の文字はurlencodeで解析できます。
3、。通常、複数のパラメータ伝達は「&」符号で区切られる。keywordに&が含まれていると、私たちが実際に伝えたいものではないという結果が入る可能性があります。
解決方法:第二と第三の異常はよくユーザーが入力ミスで入力したりコピーしたり貼り付けたりします。特殊文字を空の文字に置き換えることができます。URI関数の前に、〹を%23と符号化し、%26とすることを推奨します。その後、URI関数の後に%2523を%23に置き換え、%2536を%26に置き換え、直接的ではない.replace.(“%25”、“%”)を分離したのは、ユーザー入力の可能性があるからです。