gpt4 book ai didi

android - WebView download listener is giving Target host must not be null, or set in parameters 错误

转载 作者:可可西里 更新时间:2023-11-01 16:39:04 24 4
gpt4 key购买 nike

在我的 WebView 中,我试图从某些网站下载一些文件,但在执行 http 响应时出现错误,提示 "Target host must not be null,".

我的一段代码是...

// TODO: Download Listener
webview.setDownloadListener(new DownloadListener() {

@Override
public void onDownloadStart(String url, String sUserAgent,
String contentDisposition, String mimetype,
long contentLength) {

if (sUserAgent == null) {
Log.e(TAG + " - Conexion", "Error on useragent");
}

String PATH = Environment.getExternalStorageDirectory()
+ "/download/";
Log.v("", "PATH: " + PATH);
File file = new File(PATH);
if (file.mkdirs()) {
System.out.println("Directry-->" + PATH + " is created");
}

try {
mUrl = new URL(url);
} catch (MalformedURLException e2) {
e2.printStackTrace();
}
String fileName = getFileName(mUrl);

File outputFile = new File(file, fileName);
try {
fos = new FileOutputStream(outputFile);
} catch (FileNotFoundException e1) {

e1.printStackTrace();
}

client = new DefaultHttpClient();

try {
HttpPost request = new HttpPost(URLEncoder.encode(url, "UTF-8"));
} catch (UnsupportedEncodingException e1) {

e1.printStackTrace();
}
request.setHeader("User-Agent", sUserAgent);
try {
response = client.execute(request);

StatusLine status = response.getStatusLine();
if (status.getStatusCode() != HTTP_STATUS_OK) {

Toast.makeText(myApp, "Error On Download",Toast.LENGTH_SHORT).show();
} else {

InputStream in = response.getEntity().getContent();
byte[] read = new byte[1024];
int numReadBytes = 0, singleByte;
boolean endFlow = false;
do {
singleByte = in.read();
endFlow = singleByte == -1;
if (!endFlow) {
read[numReadBytes] = (byte) singleByte;
numReadBytes++;
}
} while (!endFlow);
if (numReadBytes > 0) {

fos.write(read, 0, numReadBytes);

}
}
} catch (IOException e) {
Log.e(TAG + " - Conexion", e.getMessage());
} catch (ArrayIndexOutOfBoundsException e) {
Log.e(TAG + " - Conexion", e.getMessage());
}

}
});

最佳答案

尝试使用:

将“http://”添加到“api.i-v-o.ch”

所以它应该是:“http://api.i-v-o.ch”主要是它会帮助你...

关于android - WebView download listener is giving Target host must not be null, or set in parameters 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9311167/

24 4 0