文章来源 http://www.vxzsk.com/90.html
代码为微信蓝牙设备硬件授权代码,基于java的,只要把代码复制工程里执行main方法即可,main方法中有几个参数,注释已经写的很清楚,在这里不在累述,本代码为V型知识库原创。
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
/****
*
* @author www.vxzsk.com V型知识库
*
*/
public class DeviceAuthTest {
/**
* V型知识库
* 模拟post方法
*/
public static String sendPost(String requrl,String param){
URL url;
String sTotalString="";
try {
url = new URL(requrl);
URLConnection connection = url.openConnection();
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("Content-Type", "text/xml");
// connection.setRequestProperty("Content-Length", body.getBytes().length+"");
connection.setRequestProperty("User-Agent",
"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)");
connection.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), "utf-8");
out.write(param); // 向页面传递数据。post的关键所在!
out.flush();
out.close();
// 一旦发送成功,用以下方法就可以得到服务器的回应:
String sCurrentLine;
sCurrentLine = "";
sTotalString = "";
InputStream l_urlStream;
l_urlStream = connection.getInputStream();
// 传说中的三层包装阿!
BufferedReader l_reader = new BufferedReader(new InputStreamReader(
l_urlStream));
while ((sCurrentLine = l_reader.readLine()) != null) {
sTotalString += sCurrentLine + "\r\n";
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(sTotalString);
return sTotalString;
}
public static void main(String[] args) {
String access_token="";//更换为自己的access_token
String deviceId="";//调用生成二维码接口返回的设备id
String mac="";//设备mac地址,可询问提供硬件设备的厂商人员
String params="{\"device_num\":\"1\",\"device_list\":[{"
+"\"id\":\""+deviceId+"\","
+"\"mac\":\""+mac+"\","
+"\"connect_protocol\":\"3\","
+"\"auth_key\":\"\","
+"\"close_strategy\":\"1\","
+"\"conn_strategy\":\"1\","
+"\"crypt_method\":\"0\","
+"\"auth_ver\":\"0\","
+"\"manu_mac_pos\":\"-1\","
+"\"ser_mac_pos\":\"-2\","
+"\"ble_simple_protocol\": \"0\""
+ "}],"
+"\"op_type\":\"1\""
+ "}";
String s=DeviceAuthTest.sendPost("https://api.weixin.qq.com/device/authorize_device?access_token="+access_token, params);
System.out.println("返回:"+s);
}
}