2012-01-04 19 views
0

:私のスクリプトが自動的に場所を与えるが、それが持っているどのように私は私のJavaコードでHTTPSのURLを使用することができます新しいURLでHTTPSを使用するにはどうすればよいですか?私はそれがいつでもそのHTTPSそれが失敗する私の新しいURLにHTTPSを使用して問題を抱えています

 ByteArrayOutputStream output = new ByteArrayOutputStream(); 
     URL urla = new URL(location); 
     InputStream openStream = urla.openStream(); 
     byte[] buffer = new byte[ 1024 ]; 
     int sizer = 0; 

     while((size = openStream.read(buffer)) != -1) { 
      output.write(buffer, 0, sizer); 
     } 

S私は(私は私のURLを伝えた上でlog.dを持っている)

答えて

0

を参照し、Apache HttpComponentsをダウンロードして、接続を行うために、そのライブラリを使用して、私のブラウザのURLのを開くことができます。https

なります。

詳細な例については、HTTPS POSTのアップロードリクエストの例をご覧ください。

0

locationはどこから来たのですか?それはHTTPからHTTPSのURLを出すようにしています。

また、試す前に、Webサーバーが実際にHTTPSをサポートしていることを確認してください。 HTTPSはデフォルトで有効になることはありません。ホスティング/セットアップによっては、HTTPSを有効にするのが難しい場合があります。

EDIT再:コメント:

URL urla = new URL("https://" + location); 

と交換し、楽しみを持っています。しかし、HTTPS URLが有効かどうかを確認してください。

EDIT:あなたのHTTPダウンロードコードが間違っています。 AndroidでHTTPダウンロードを表示する方法は次のとおりです。

HttpClient hc = new DefaultHttpClient(); 
URL urla = new URL(location); 
HttpResponse Resp = hc.execute(new HttpGet(urla)); 
//Check for HTTP errors here 
InputStream openStream = Resp.getEntity().getContent(); 
byte[] buffer = new byte[ 1024 ];   
int sizer = 0;    
while((size = openStream.read(buffer)) != -1) 
{    
    output.write(buffer, 0, sizer);   
} 

これはバックグラウンドスレッドで行う方がよいでしょう。 HTTPリクエストでUIスレッドをブロックすることは悪い考えです。

+0

場所は文字列で生成されます。サイトにhttpsが有効になっています。 URL – arberb

+0

のように "https:// STRING/STRING2?STRING3"を発行しますが、それでもまだ動作しません。 – arberb

+0

HTTPコードの残りの部分は決して決まっていないと思います。編集を参照してください。 –

関連する問題