Java 身份验证问题。。!!在ANDROID上使用HTTPURLCONNECTION

Java 身份验证问题。。!!在ANDROID上使用HTTPURLCONNECTION,java,android,http,http-status-codes,Java,Android,Http,Http Status Codes,“基本YWRtaW46YW RtaW4=” 是我地址的正确代码。我检查j2me项目 在android上,我的getbase64方法返回“Basic YWRtaW46YW” RtaW4=“这是真的 和ı将其用于: setRequestProperty(“授权”,getBase64Encode()) 最后,响应代码是401 有什么想法吗 protected void connect() { InputStream is = null; OutputStream os = null; tr

“基本YWRtaW46YW RtaW4=” 是我地址的正确代码。我检查j2me项目

在android上,我的getbase64方法返回“Basic YWRtaW46YW” RtaW4=“这是真的

和ı将其用于:

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);
  }
受保护的void connect(){
InputStream=null;
OutputStream os=null;
试一试{
url=新url(getUrl());
System.out.println(getUrl());//duzelt
queryString=encodeURL(queryString);
字节postsg[]=queryString.getBytes(“UTF-8”);
conn=url.openConnection();
if(!(HttpURLConnection的连接实例))
抛出新IOException(“非HTTP连接”);
httpConnection=(HttpURLConnection)连接;
HttpOptions=newhttpoptions();
httpConnection.setDoInput(true);
httpConnection.setDoOutput(true);
setRequestMethod(“GET”);
httpConnection.setRequestProperty(“授权”,
getBase64Encode());
httpConnection.connect();
os=httpConnection.getOutputStream();///////baglantının
System.out.println(“响应代码:+httpConnection.getResponseCode());
//连接olup olmadıgını
//康特罗等
对于(int i=0;i
在HttpURLConnection上有一个方法

以毫秒为单位设置超时值 用于建立与的连接 此URL连接指向的资源 实例。SocketTimeoutException是 如果无法连接,则引发 此时已建立。默认值为0 表示无限超时

HttpURLConnection上有一个方法

以毫秒为单位设置超时值 用于建立与的连接 此URL连接指向的资源 实例。SocketTimeoutException是 如果无法连接,则引发 此时已建立。默认值为0 表示无限超时


是的,ı尝试了,但没有区别:(我可以显示Mjpeg fıle,但ı无法发送链接:((在ı尝试了与httpget defaulthttpclıent的连接后,成功了。它们之间有什么不同?不同的实现导致不同的行为:)可能是连接超时和读取超时(setReadTimeout)应设置,以便处理服务器接受连接但不响应请求的情况。是的,ı尝试了,但没有区别:(我可以显示Mjpeg fıle,但ı无法发送链接:((在尝试与httpget defaulthttpclıent连接后,它工作了。它们之间有什么不同?不同的实现导致不同的行为:)可能是连接超时和读取超时(setReadTimeout)应设置,以便处理服务器接受连接但不响应请求的情况。
httpConnection.setConnectTimeout(10000); /* connection timeout set to 10s */