0

私のアプリケーションでは、検証にキャプチャを使用する必要があります。私はそれのためにこのリンクを使用しています:http://vocublablair.nl/webservices/send.php

次のような文字列を返します:/webservices/simple-php-captcha.php?_CAPTCHA&t=0.59145200+1338304461

次に、そのリンクを呼び出す必要があります:http: //vocublablair.nl/webservices/simple-php-captcha.php?_CAPTCHA&t=0.59145200+1338304461

同じHttpClientを使用して(適切なセッションCookieを使用して)これを呼び出すと、次のエラーが発生します。

java.lang.IllegalArgumentException: Illegal character in query at index 94: http://vocublablair.nl/webservices/simple-php-captcha.php?_CAPTCHA&t=0.59145200+1338304461
4

2 に答える 2

1

サードパーティのリソースを使用すると顧客に不便をもたらす可能性があるため、独自のキャプチャ画像を生成するのが最善の方法です。Androidでキャプチャを生成するには、次の単純なライブラリを使用できます: http ://simplecaptcha.sourceforge.net/

于 2012-05-27T14:31:14.717 に答える
0

私は次のようにして問題を解決しました:

まず、私が返したリンクは、以下を使用してHTMLエンコードする必要がありました。

Html.fromHtml(String)

正しいURLを呼び出す:

content = sb.toString(); //the fetched link
String myCookie = "";
//get session cookie from other call.

List<Cookie> cookies = ((DefaultHttpClient)httpClient).getCookieStore().getCookies();
for(Cookie c : cookies){
if(c.getName().equals("PHPSESSID")){
    myCookie = c.getName() + "=" + c.getValue();
    break;
   }
   }

URL url = new URL(Html.fromHtml("http://vocublablair.nl" + content).toString());
URLConnection connection = url.openConnection();
connection.setDoInput(true);
connection.setRequestProperty("Cookie", myCookie);
connection.connect();
Bitmap bit = BitmapFactory.decodeStream(new FlushedInputStream((InputStream) connection.getContent()));

FlushedInputStreamを使用しています。ここでそれについて読んでください:http://twigstechtips.blogspot.com/2011/10/android-loading-jpgpng-images-from-url.html

于 2012-05-29T21:31:19.170 に答える