2010-10-15 68 views
1

“基本YWRtaW46YW RtaW4 =” 是我的地址的正确代码。我检查j2me项目。认证问题.. !!使用HTTPURLCONNECTION的ANDROID

And on android getbase64 method returns“Basic YWRtaW46YW RtaW4 =”its true。

和ı使用它:

httpConnection.setRequestProperty( “授权”,getBase64Encode());

最后性反应的代码是401

任何想法???

protected void connect() { 
    InputStream is = null; 
    OutputStream os = null; 
    try { 

    url = new URL(getUrl()); 
    System.out.println(getUrl());// duzelt 
    queryString = encodeURL(queryString); 
    byte postmsg[] = queryString.getBytes("UTF-8"); 
    conn = url.openConnection(); 
    if (!(conn instanceof HttpURLConnection)) 
    throw new IOException("Not an HTTP connection"); 

    httpConnection = (HttpURLConnection) conn; 
    HttpOptions options=new HttpOptions(); 
    httpConnection.setDoInput(true); 
    httpConnection.setDoOutput(true); 
    httpConnection.setRequestMethod("GET"); 
    httpConnection.setRequestProperty("Authorization", 
    getBase64Encode()); 
    httpConnection.connect(); 
    os = httpConnection.getOutputStream();// ///////////////////baglantının 
    System.out.println("response code: "+ httpConnection.getResponseCode()); 
    // connect olup olmadıgını 
    // kontrol et 

    for (int i = 0; i < postmsg.length; i++) { 
    os.write(postmsg[i]); 
    } 
    if (!cancel) { 
    onReturn(httpConnection.getResponseCode(), httpConnection 
     .getInputStream()); 
    } 
    os.close(); 
    // httpConnection.close(); 
    } catch (Exception e) { 
    System.out.println(e.getMessage()); 
    try { 
    httpConnection.disconnect(); 
    Thread.sleep(60); 
    // cancel=true; eklenmesı gerekebilir 
    } catch (Exception ie) { 
    } 
    onError(e); 
    } 

回答

1

在HttpURLConnection上有一个setConnectTimeout(int)方法。

设置在建立到此URLConnection 实例指出的 资源的连接毫秒 的超时值。如果在此时建立的连接不可能为 ,则SocketTimeoutException为 。默认值为0 ,表示无限超时。

httpConnection.setConnectTimeout(10000); /* connection timeout set to 10s */ 
+0

是的,我尝试过,但没有任何区别.. :(我可以告诉MJPEG文件,但我不能把链接:((我试图与HTTPGET-defaulthttpclıent连接后,它的工作原理是什么。 – atasoyh 2010-10-16 12:10:25

+0

不同的实现会导致不同的行为:)为了处理服务器接受连接但不回应请求的情况,可能需要设置连接超时和读取超时(setReadTimeout)。 – Jcs 2010-10-18 16:56:52

+1

I终于用了httpclient,没问题.. – atasoyh 2010-10-21 14:46:35