不行 你的MD5的方法 在conn.Open()方法就报错Only AuthenticationClearTextPassword and AutnenticationMD5Password supported for now.Recieved 10了
时间: 2024-02-11 12:08:27 浏览: 18
抱歉,我理解了你的问题。据我所知,该错误通常表示在当前的连接字符串中使用了不支持的身份验证方法。您需要在连接字符串中指定正确的身份验证方法。在使用MD5身份验证方法时,您需要确保服务器端已正确配置以支持MD5身份验证。请检查您的连接字符串,确保它正确指定了身份验证方法,并且服务器正确配置了MD5身份验证方法。例如,您可以在连接字符串中添加以下内容以使用MD5身份验证方法:
```
User ID=myUsername;Password=mypassword;Server=myServerAddress;Database=myDataBase;Port=myPort;Pooling=myPooling;Authentication=MySqlClearPassword;ConnectionLifeTime=1200;ConnectionTimeout=60;CommandTimeout=30;
```
请注意,您需要将 `MySqlClearPassword` 更改为 `MySqlAuthenticationPlugin::MysqlClearPasswordPlugin` 以使用MD5身份验证方法。
相关问题
andriod 5 InputStream inputStream = conn.getInputStream();报错
根据提供的引用内容,可以看出在Android 5中使用`InputStream inputStream = conn.getInputStream();`会报错。这可能是因为在Android 5中,网络请求需要在子线程中执行,而不能在主线程中执行。因此,你需要将网络请求放在一个异步任务中执行,以避免报错。
以下是一个示例代码,展示了如何在Android 5中正确地使用`InputStream`获取网络数据:
```java
// 在主线程中创建异步任务
new AsyncTask<Void, Void, Bitmap>() {
@Override
protected Bitmap doInBackground(Void... params) {
try {
// 在子线程中执行网络请求
URL url = new URL("http://example.com/image.jpg"); HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.connect();
// 获取输入流并解码为Bitmap
InputStream is = conn.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(is);
// 关闭输入流
is.close();
// 返回Bitmap
return bitmap;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
@Override
protected void onPostExecute(Bitmap bitmap) {
// 在主线程中更新UI,将Bitmap显示在ImageView中
if (bitmap != null) {
imageView.setImageBitmap(bitmap);
}
}
}.execute();
```
请注意,上述代码中的`imageView`是一个`ImageView`实例,用于显示获取到的图片。你需要将其替换为你自己的`ImageView`实例。
android 5InputStream inputStream = conn.getInputStream(); 报错java.io.FileNotFoundException
根据提供的引用内容,当使用HttpURLConnection进行POST请求时,如果getResponseCode返回的值不是200或201,而是403等其他值时,调用conn.getInputStream()方法会报java.io.FileNotFoundException异常。
为了解决这个问题,可以先判断getResponseCode的返回值,如果不是200或201,可以通过getErrorStream()方法获取错误流,然后进行相应的处理。
以下是一个示例代码:
```java
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
// 设置其他请求参数
int responseCode = conn.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK || responseCode == HttpURLConnection.HTTP_CREATED) {
InputStream inputStream = conn.getInputStream();
// 处理正常连接的逻辑
} else {
InputStream errorStream = conn.getErrorStream();
// 处理异常连接的逻辑
}
```
在上述代码中,我们首先获取getResponseCode的返回值,然后根据返回值进行判断。如果是200或201,表示连接正常,可以继续使用conn.getInputStream()方法获取输入流进行处理。如果不是200或201,表示连接异常,可以使用conn.getErrorStream()方法获取错误流进行处理。