java抓取网页内容( GoogleAppEngine中文乱码问题注意在读取中文的网页时)
优采云 发布时间: 2021-12-16 02:31java抓取网页内容(
GoogleAppEngine中文乱码问题注意在读取中文的网页时)
// 此处的地址请换成你的,在本地测试时可以填入http://localhost:8888/request.jsp
URL url = new URL("http://2.latest.fatkuns.appspot.com/request.jsp");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);// 使用 URL 连接进行输出
connection.setRequestMethod("POST");
// 取得输出流
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
// 用UTF-8编码,保证中文传递正常
String message = URLEncoder.encode("你好,I'm Fatkun!", "UTF-8");
// 写入发送的内容
writer.write("msg=" + message);
writer.close();
以上是主要代码。看看评论。它们非常清楚
谷歌应用引擎中文乱码问题
请注意,在阅读中文网页时,使用InputStream类很不方便,因为编码为UTF、GBK、GB2312等。此外,还可能发生错误
我尝试使用InputStream类,然后使用新字符串(bytes[],“UTF-8”)来转换代码,但出现了一个问题。我不知道我是否不能使用它或如何使用它
然而,使用这种书写方式要方便得多
InputStreamReader in=新的InputStreamReader(url.openStream(),“UTF-8”)
无需转换代码~只需指定其代码即可
请注意,此处应添加“UTF-8”。虽然没有在本地测试中添加它不是问题,但在上传到gae时,它不能以中文显示
PS2:UTF-8在这里表示网页的代码。如果您抓取的网页是GB2312,则需要根据实际需要进行更改。附件是我的例子:
源代码在这里:我在Lib目录中删除了它。请自己加