小编Aja*_*jay的帖子

Java 使用 UTF-8 发送 http POST

我需要使用 Google FCM 发送 HTTP POST。通过下面的代码,可以发送英文消息,但可以发送中文字符。我通过到处添加 UTF-8 进行了多次尝试...需要帮助。

\n\n

我的消息的有效负载是下面代码中的 str2。\nAndroid APP 中显示的结果是 \nHello+%E6%88%91

\n\n

E68891是正确的UTF-8代码,但我需要它显示为汉字。

\n\n
package tryHttpPost2;\nimport java.io.DataOutputStream;\nimport java.net.URL;\nimport java.net.URLEncoder;\nimport javax.net.ssl.HttpsURLConnection;\n\npublic class TryHttpPost2 \n{\n    public static void main(String[] args) throws Exception {\n        String url = "https://fcm.googleapis.com/fcm/send";\n        URL obj = new URL(url);\n        HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();\n        con.setRequestMethod("POST");\n        con.setRequestProperty("Content-Type", "application/json;x-www-form-urlencoded;charset=UTF-8");\n        con.setRequestProperty("Accept-Charset", "UTF-8");\n        con.setRequestProperty("Authorization", "key=...............");\n\n        String str1 = "{\\"to\\":\\"/topics/1\\",\\"notification\\":{\\"title\\":\\"";\n        String str2 = URLEncoder.encode("Hello \xe6\x88\x91", "utf-8");\n        String str3 = "\\"}}";\n        String urlParameters = str1+str2+str3;\n        con.setDoOutput(true);\n        DataOutputStream wr = new DataOutputStream(con.getOutputStream());\n\n        wr.writeBytes(urlParameters);\n …
Run Code Online (Sandbox Code Playgroud)

java post http firebase-cloud-messaging

2
推荐指数
1
解决办法
4634
查看次数

标签 统计

firebase-cloud-messaging ×1

http ×1

java ×1

post ×1