Java 身份验证问题。。!!在ANDROID上使用HTTPURLCONNECTION
“基本YWRtaW46YW RtaW4=” 是我地址的正确代码。我检查j2me项目 在android上,我的getbase64方法返回“Basic YWRtaW46YW” RtaW4=“这是真的 和ı将其用于: setRequestProperty(“授权”,getBase64Encode()) 最后,响应代码是401 有什么想法吗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
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 */